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 Changes from v5 to v6 - Rebased on top of Tomi's 4.8/omapdrm branch (git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git 4.8/omapdrm) - "drm: drm_helper_crtc_enable_color_mgmt() => drm_crtc_enable_color_mgmt()" - No change - "drm/omapdrm: Add gamma table support to DSS dispc" - Don't crash to gamma table with lenght < 2 - Deal with input table size > output table size, in interpolation code - "drm/omapdrm: Workaround for errata i734 (LCD1 Gamma) in DSS dispc" - No change - "drm/omapdrm: Implement gamma_lut atomic crtc properties" - Add "omap_crtc_atomic_check()" - Restore default gamma table if the gamma_lut property is removed 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 | 377 ++++++++++++++++++++++++++++++++-- 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 | 56 +++++ include/drm/drm_crtc.h | 5 +- include/drm/drm_crtc_helper.h | 3 - 11 files changed, 478 insertions(+), 60 deletions(-) -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel