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 seemperfectly capable of handling 40+ bit DMA addresses on the Power8 platform.
On Thu, Feb 22, 2018 at 11:07 AM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
On Thu, Feb 22, 2018 at 10:55 AM, Ben Crocker <bcrocker@xxxxxxxxxx> 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@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@xxxxxxxxxx> 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@xxxxxxxxxx>
>>>> ---
>>>> 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@lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>>>
>>> _______________________________________________
>>> amd-gfx mailing list
>>> amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>>
>>
>
_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel