[PATCH] drm/radeon: insist on 32-bit DMA for Cedar

Alex Deucher alexdeucher at gmail.com
Thu Feb 22 16:48:45 UTC 2018


On Thu, Feb 22, 2018 at 11:45 AM, Ben Crocker <bcrocker at redhat.com> wrote:
> 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.

Which other cards?

Alex

>
>
> On Thu, Feb 22, 2018 at 11:07 AM, Alex Deucher <alexdeucher at gmail.com>
> wrote:
>>
>> On Thu, Feb 22, 2018 at 10:55 AM, Ben Crocker <bcrocker at 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.leichtzumerken at gmail.com> wrote:
>> >>
>> >> Am 22.02.2018 um 03:05 schrieb Alex Deucher:
>> >>>
>> >>> On Wed, Feb 21, 2018 at 6:41 PM, Ben Crocker <bcrocker at 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 <bcrocker at 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-devel at lists.freedesktop.org
>> >>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>> >>>
>> >>> _______________________________________________
>> >>> amd-gfx mailing list
>> >>> amd-gfx at lists.freedesktop.org
>> >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>> >>
>> >>
>> >
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
>


More information about the amd-gfx mailing list