I considered that, but I'm only equipped to test on a few cards--the ones
IBM is interested in.
So this Cedar-specific change fixes the problem on the FirePro 2270; the
other cards seem
perfectly capable of handling 40+ bit DMA addresses on the Power8 platform.


On Thu, Feb 22, 2018 at 11:07 AM, Alex Deucher <alexdeuc...@gmail.com>
wrote:

> On Thu, Feb 22, 2018 at 10:55 AM, Ben Crocker <bcroc...@redhat.com> wrote:
> > Alex, Christian, et al.
> >
> > Thanks for your rapid response!
> >
> > I can certainly make the change PPC-only (#ifdef CONFIG_PPC64...) and I
> > think
> > that's the safest way to go right now.  It makes the patch very specific
> to
> > Cedar
> > on PowerPC64, so it doesn't break anything that may have come to depend
> on
> > Russell's and Alistair's changes, and my timetable for getting a fix in
> is
> > very short.
>
> If you want to go this route, you might just set need_dma32
> unconditionally for PPC64.  The bus interface hw is pretty much the
> same across all asics in this time period.
>
> Alex
>
>
> >
> > -- Ben
> >
> >
> >
> > On Thu, Feb 22, 2018 at 2:25 AM, Christian König
> > <ckoenig.leichtzumer...@gmail.com> wrote:
> >>
> >> Am 22.02.2018 um 03:05 schrieb Alex Deucher:
> >>>
> >>> On Wed, Feb 21, 2018 at 6:41 PM, Ben Crocker <bcroc...@redhat.com>
> wrote:
> >>>>
> >>>> In radeon_device_init, set the need_dma32 flag for Cedar chips
> >>>> (e.g. FirePro 2270).  This fixes, or at least works around, a bug
> >>>> on PowerPC exposed by last year's commits
> >>>>
> >>>> 8e3f1b1d8255105f31556aacf8aeb6071b00d469 (Russell Currey)
> >>>>
> >>>> and
> >>>>
> >>>> 253fd51e2f533552ae35a0c661705da6c4842c1b (Alistair Popple)
> >>>>
> >>>> which enabled the 64-bit DMA iommu bypass.
> >>>>
> >>>> This caused the device to freeze, in some cases unrecoverably, and is
> >>>> the subject of several bug reports internal to Red Hat.
> >>>
> >>> Can we make this ppc only?  40 bit DMA works fine on x86.
> >>
> >>
> >> Yeah and at least when the dma_coherent allocator path is used it should
> >> work fine on PPC as well.
> >>
> >> So that is not really a driver bug, but a platform bug and we should
> think
> >> about reverting or at least disabling those two patches instead.
> >>
> >> Christian.
> >>
> >>>
> >>> Alex
> >>>
> >>>> Signed-off-by: Ben Crocker <bcroc...@redhat.com>
> >>>> ---
> >>>>   drivers/gpu/drm/radeon/radeon_device.c | 5 ++++-
> >>>>   1 file changed, 4 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/radeon/radeon_device.c
> >>>> b/drivers/gpu/drm/radeon/radeon_device.c
> >>>> index ffc10cadcf34..02538903830d 100644
> >>>> --- a/drivers/gpu/drm/radeon/radeon_device.c
> >>>> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> >>>> @@ -1395,7 +1395,10 @@ int radeon_device_init(struct radeon_device
> >>>> *rdev,
> >>>>          if (rdev->flags & RADEON_IS_AGP)
> >>>>                  rdev->need_dma32 = true;
> >>>>          if ((rdev->flags & RADEON_IS_PCI) &&
> >>>> -           (rdev->family <= CHIP_RS740))
> >>>> +           (rdev->family <= CHIP_RS740 || rdev->family ==
> CHIP_CEDAR))
> >>>> +               rdev->need_dma32 = true;
> >>>> +       if ((rdev->flags & RADEON_IS_PCIE) &&
> >>>> +           (rdev->family == CHIP_CEDAR))
> >>>>                  rdev->need_dma32 = true;
> >>>>
> >>>>          dma_bits = rdev->need_dma32 ? 32 : 40;
> >>>> --
> >>>> 2.13.6
> >>>>
> >>>> _______________________________________________
> >>>> dri-devel mailing list
> >>>> dri-de...@lists.freedesktop.org
> >>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> >>>
> >>> _______________________________________________
> >>> amd-gfx mailing list
> >>> amd-gfx@lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> >>
> >>
> >
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to