[Intel-gfx] [PATCH 1/2] drm/i915/skl: New ddb allocation algorithm
Mahesh Kumar
mahesh1.kumar at intel.com
Tue May 23 14:48:21 UTC 2017
Hi,
On Thursday 18 May 2017 04:45 PM, Lankhorst, Maarten wrote:
> Mahesh Kumar schreef op do 18-05-2017 om 15:39 [+0530]:
>> From: "Kumar, Mahesh" <mahesh1.kumar at intel.com>
>>
>> This patch implements new DDB allocation algorithm as per HW team
>> recommendation. This algo takecare of scenario where we allocate less
>> DDB
>> for the planes with lower relative pixel rate, but they require more
>> DDB
>> to work.
>> It also takes care of enabling same watermark level for each
>> plane in crtc, for efficient power saving.
>>
>> Changes since v1:
>> - Rebase on top of Paulo's patch series
>>
>> Changes since v2:
>> - Fix the for loop condition to enable WM
>>
>> Changes since v3:
>> - Fix crash in cursor i-g-t reported by Maarten
>> - Rebase after addressing Paulo's comments
>> - Few other ULT fixes
>> Changes since v4:
>> - Rebase on drm-tip
>> - Added separate function to enable WM levels
>> Changes since v5:
>> - Fix a crash identified in skl-6770HQ system
>> Changes since v6:
>> - Address review comments from Matt
>> Changes since v7:
>> - Fix failure return in skl_compute_plane_wm (Matt)
>> - fix typo
>>
>> Signed-off-by: Mahesh Kumar <mahesh1.kumar at intel.com>
>> Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Hm just to be sure it works as intended I tested this against full kms,
> testsuite and it seems to cause FIFO underruns on my KBL with the
> kms_atomic_transition test.
>
> I think we shouldn't merge this until all those fifo underruns have
> been fixed, especially because FIFO underruns may result in a complete
> lockup of the gpu.
After debugging I found when, only cursor plane is enabled, that time
total_data_rate is coming 0 because we don't include cursor for
total_data_rate calculation.
And because of this we return from skl_allocate_pipe_ddb function
without enabling WM levels for cursor plane. As a result cursor plane is
enabled without WM getting enabled & resulting "fifo under-run"
Fixing it by doing cursor_plane wm enable calculation irrespective of
total_data_rate calculation.
-Mahesh
>
> Sorry for the bad news,
> Maarten
More information about the Intel-gfx
mailing list