mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-27 08:14:35 +08:00
drm/omap: use degamma property for gamma table
omapdrm supports gamma via GAMMA_LUT property. However, the HW we have is: gamma -> ctm -> out instead of what the model DRM framework uses: ctm -> gamma -> out As the following patches add CTM support for omapdrm, lets first fix the gamma. This patch changes the property from GAMMA_LUT to DEGAMMA_LUT, and thus we will have: degamma -> ctm -> out and the legacy ioctl will continue working as before. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201103080310.164453-3-tomi.valkeinen@ti.com
This commit is contained in:
parent
1b89774346
commit
3fcd70c9a5
@ -575,8 +575,8 @@ static int omap_crtc_atomic_check(struct drm_crtc *crtc,
|
||||
crtc);
|
||||
struct drm_plane_state *pri_state;
|
||||
|
||||
if (crtc_state->color_mgmt_changed && crtc_state->gamma_lut) {
|
||||
unsigned int length = crtc_state->gamma_lut->length /
|
||||
if (crtc_state->color_mgmt_changed && crtc_state->degamma_lut) {
|
||||
unsigned int length = crtc_state->degamma_lut->length /
|
||||
sizeof(struct drm_color_lut);
|
||||
|
||||
if (length < 2)
|
||||
@ -617,10 +617,10 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc,
|
||||
struct drm_color_lut *lut = NULL;
|
||||
unsigned int length = 0;
|
||||
|
||||
if (crtc->state->gamma_lut) {
|
||||
if (crtc->state->degamma_lut) {
|
||||
lut = (struct drm_color_lut *)
|
||||
crtc->state->gamma_lut->data;
|
||||
length = crtc->state->gamma_lut->length /
|
||||
crtc->state->degamma_lut->data;
|
||||
length = crtc->state->degamma_lut->length /
|
||||
sizeof(*lut);
|
||||
}
|
||||
priv->dispc_ops->mgr_set_gamma(priv->dispc, omap_crtc->channel,
|
||||
@ -841,7 +841,7 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
|
||||
if (priv->dispc_ops->mgr_gamma_size(priv->dispc, channel)) {
|
||||
unsigned int gamma_lut_size = 256;
|
||||
|
||||
drm_crtc_enable_color_mgmt(crtc, 0, false, gamma_lut_size);
|
||||
drm_crtc_enable_color_mgmt(crtc, gamma_lut_size, false, 0);
|
||||
drm_mode_crtc_set_gamma_size(crtc, gamma_lut_size);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user