On 9/20/2016 1:55 PM, Ville Syrjälä wrote:
Pipe scaler is not dependent on fp I think. We have fb size checks are
done in plane check.
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
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.
- 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.
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.
- 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
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.
- the pfiter_recalculate thing looks pretty wrong atomic wise
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(-)
Intel-gfx mailing list
Intel-gfx mailing list