[Intel-gfx] [PATCH 0/7] drm/i915: Add pipe scaler for Gen9 in atomic path

Maiti, Nabendu Bikash nabendu.bikash.maiti at intel.com
Wed Sep 21 14:17:37 UTC 2016


Hi,


On 9/20/2016 1:55 PM, Ville Syrjälä wrote:
> On Tue, Aug 30, 2016 at 10:30:54AM +0530, Nabendu Maiti wrote:
>> Following patch series add pipe scaler functionality in atomic path.The pipe
>> scaler can be changed dynamically without modeset.Apart from default panel
>> fitter supported scaling modes -CENTER/ASPECT/FULLSCREEN custom scaling mode
>> mode is added as there is no such restriction on GEn9 pipe scaler.
>
> Some quick observations:
> - missing any interaction with drm core, so all generic fb size checks
>   and whatnot will not work out, I think
Pipe scaler is not dependent on fp I think. We have fb size checks are 
done in plane check.

> - the way it's done goes against what I've suggested in the past. My
>   idea has been to add a "fixed mode" property to connectors instead,
>   which I think would minimize the impact on the core, and it would
>   follow closely the way eDP/LVDS/DSI already works today.
yes using fixed mode we can do also but I wanted to be part of crtc 
property instead of connector property. As fixed mode is basically 
intended for fixed mode panels.But we may use pipe scaler for fixed mode 
and dynamic mode panels.

> - There's no need to restrict the feature to gen9+ only. It should work
>   out just fine for at least all pch platforms. gmch platforms would be
>   more challenging
This code I designed to use gen9+, and properties like crtc destination 
size and offsets also exposed.There is no restrictions on modes (eg. 
pillerbox/letterbox) and down scaling ratios as previous platforms. 
Currently scaling mode is part of connector property and implemented as 
legacy property. I created new scaling mode as atomic property. I think 
gen9+ onward platforms may have proper atomic pipe scaling properties 
and user space may use it fully dynamically without modeset.

> - the pfiter_recalculate thing looks pretty wrong atomic wise
Sorry, I couldn't get it. Are you referring pipe scaler registers are 
not written together with other registers?  pfiter_calculate only 
calculate and stores the data for later commit. Please provide more 
details on it.
>
>>
>>
>>
>> Nabendu Maiti (7):
>>   drm/i915: Add pipe scaler pipe source drm property
>>   drm/i915: Add pipe_src size property calculations in atomic path.
>>   drm/i915: Panel fitting calculation for GEN9
>>   drm/i915: Adding atomic fitting mode property for GEN9
>>   drm/i915: Add pipe scaler co-ordinate and size property for Gen9
>>   drm/i915: Update pipe-scaler according to destination size
>>   drm/i915: Pipescaler destination size limit check on Gen9
>>
>>  drivers/gpu/drm/drm_atomic.c         |  35 ++++++++++
>>  drivers/gpu/drm/drm_crtc.c           |  56 +++++++++++++++
>>  drivers/gpu/drm/i915/intel_display.c | 128 +++++++++++++++++++++++++++++++++--
>>  drivers/gpu/drm/i915/intel_drv.h     |   3 +
>>  drivers/gpu/drm/i915/intel_panel.c   |  34 +++++++++-
>>  include/drm/drm_crtc.h               |  14 ++++
>>  include/uapi/drm/drm_mode.h          |   1 +
>>  7 files changed, 263 insertions(+), 8 deletions(-)
>>
>> --
>> 1.9.1
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>

-- 
Regards,
Nabendu


More information about the Intel-gfx mailing list