[PATCH v5 0/4] drm/omapdrm: gamma table support + drm_crtc_enable_color_mgmt()

Daniel Vetter daniel at ffwll.ch
Thu May 26 10:17:58 UTC 2016


On Thu, May 26, 2016 at 11:35:44AM +0300, Jyri Sarha wrote:
> Implements gamma tables for OMAP4, OMAP5, and dra7xx SoCs and adds a
> workaround for errata that may break LCD1 channel if gamma tables
> are in use.
>
> Also adds new drm_crtc_enable_color_mgmt() as suggested[1] by Daniel
> Vetter and get rid of the old drm_helper_crtc_enable_color_mgmt(). I
> have not tested the change to i915 driver, only compiled it, but
> functionally it should be exactly the same.
>
> [1] http://www.spinics.net/lists/dri-devel/msg108092.html

Btw for testing it would be awesome if you could take the color manager
igt testcase we have, and make it generic. Probably needs some
adjustments like skip tests when not all properties which are needed are
there. We should already auto-skip crc-based tests when that's not there,
so hopefully not too much work.

This way we could start to have something like real validation tests for
all these atomic extensions and make sure things do work across drivers in
a uniform way. Tomeu and Robert have done this conversion work thus far,
with Daniel leading the effort (all cc'ed). Lionel has done the color mgmt
test.

But probably simplest to chat a bit on #dri-devel about this.
-Daniel
>
> Changes from v4 to v5
> - No code changes
> - Reorder the patches so that color_mgmt-patch comes first
> - Fix some typos from commit descriptions
> - Squash:
>     "drm: Add drm_crtc_enable_color_mgmt()",
>     "drm/i915: Use drm_crtc_enable_color_mgmt()", and
>     "drm: Remove obsolete drm_helper_crtc_enable_color_mgmt()"
>   to: "drm: drm_helper_crtc_enable_color_mgmt() => drm_crtc_enable_color_mgmt()"
> - Squash:
>     "drm/omapdrm: Use drm_crtc_enable_color_mgmt() to enable gamma properties"
>   into: "drm/omapdrm: Implement gamma_lut atomic crtc properties"
>
> Changes from v3 to v4
> - "drm/omapdrm: Add gamma table support to DSS dispc"
>   - use interpolation code in dispc_mgr_set_gamma() to produce default lut
>   - restore default lut table if NULL is given as gamma lut table
> - "drm/omapdrm: Implement gamma_lut atomic crtc property"
>   - attach gamma_lut_property and gamma_lut_size_property to crtc if
>     gamma tables are supported
>   - restore default table if gamma lut property is deleted
> - Adds:
>   - drm: Add drm_crtc_enable_color_mgmt()
>   - drm/omapdrm: Use drm_crtc_enable_color_mgmt() to enable gamma properties
>   - drm/i915: Use drm_crtc_enable_color_mgmt()
>   - drm: Remove obsolete drm_helper_crtc_enable_color_mgmt()
>
> Changes from v2 to v3
> - "drm/omapdrm: Add gamma table support to DSS dispc"
>   - fix dispc_init_gamma_tables() to always return an int
>   - omap54xx_dispc_feats initializes .has_gamma_table not .has_gamma_tables
> - "drm/omapdrm: Work-a-round for errata i734 (LCD1 Gamma) in DSS dispc"
>   - work-a-round -> workaround
>   - Do not mention LOADMODE in description
>   - dma_alloc_writecombine returns NULL on error
>   - fix last wrong instrance of LCD output gating register
>   - improve comment for framedone busy wait
>   - add {} around busy loop's while statement
>
> Changes from v1 to v2
> - Drop "drm/omapdrm: omap_modeset_init: Separate crtc id and plane id indexing"
> - "drm/omapdrm: Add gamma table support to DSS dispc"
>  - Address Tomi's comments here: https://patchwork.kernel.org/patch/9128629/
> - "drm/omapdrm: Work-a-round for errata i734 (LCD1 Gamma) in DSS dispc"
>  - Address Tomi's comments here: https://patchwork.kernel.org/patch/9128633/
>
> Jyri Sarha (4):
>   drm: drm_helper_crtc_enable_color_mgmt() =>
>     drm_crtc_enable_color_mgmt()
>   drm/omapdrm: Add gamma table support to DSS dispc
>   drm/omapdrm: Workaround for errata i734 (LCD1 Gamma) in DSS dispc
>   drm/omapdrm: Implement gamma_lut atomic crtc properties
>
>  drivers/gpu/drm/drm_crtc.c            |  45 ++++
>  drivers/gpu/drm/drm_crtc_helper.c     |  33 ---
>  drivers/gpu/drm/i915/intel_color.c    |   3 +-
>  drivers/gpu/drm/omapdrm/dss/dispc.c   | 374 ++++++++++++++++++++++++++++++++--
>  drivers/gpu/drm/omapdrm/dss/dispc.h   |   5 +
>  drivers/gpu/drm/omapdrm/dss/hdmi4.c   |   3 -
>  drivers/gpu/drm/omapdrm/dss/hdmi5.c   |   3 -
>  drivers/gpu/drm/omapdrm/dss/omapdss.h |   5 +
>  drivers/gpu/drm/omapdrm/omap_crtc.c   |  28 +++
>  include/drm/drm_crtc.h                |   5 +-
>  include/drm/drm_crtc_helper.h         |   3 -
>  11 files changed, 447 insertions(+), 60 deletions(-)
>
> --
> 1.9.1
>

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list