On Thu, May 17, 2012 at 5:27 AM, Laurent Pinchart
<laurent.pinchart at ideasonboard.com> wrote:
> Drivers for hardware without gamma support should not be forced to
> implement a no-op gamma set operation.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Cc: Rob Clark <rob.clark at linaro.org>

Reviewed-by: Rob Clark <rob at ti.com>

> ---
> ?drivers/gpu/drm/drm_crtc.c ? ? ? ? ?| ? ?5 +++++
> ?drivers/gpu/drm/drm_fb_helper.c ? ? | ? ?3 +++
> ?drivers/staging/omapdrm/omap_crtc.c | ? ?7 -------
> ?3 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index bfc9b86..aa80d4a 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -3173,6 +3173,11 @@ int drm_mode_gamma_set_ioctl(struct drm_device *dev,
> ? ? ? ?}
> ? ? ? ?crtc = obj_to_crtc(obj);
>
> + ? ? ? if (crtc->funcs->gamma_set == NULL) {
> + ? ? ? ? ? ? ? ret = -ENOSYS;
> + ? ? ? ? ? ? ? goto out;
> + ? ? ? }
> +
> ? ? ? ?/* memcpy into gamma store */
> ? ? ? ?if (crtc_lut->gamma_size != crtc->gamma_size) {
> ? ? ? ? ? ? ? ?ret = -EINVAL;
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index bd92616..f0b81d7 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -136,6 +136,9 @@ static void drm_fb_helper_restore_lut_atomic(struct 
> drm_crtc *crtc)
> ?{
> ? ? ? ?uint16_t *r_base, *g_base, *b_base;
>
> + ? ? ? if (crtc->funcs->gamma_set == NULL)
> + ? ? ? ? ? ? ? return;
> +
> ? ? ? ?r_base = crtc->gamma_store;
> ? ? ? ?g_base = r_base + crtc->gamma_size;
> ? ? ? ?b_base = g_base + crtc->gamma_size;
> diff --git a/drivers/staging/omapdrm/omap_crtc.c 
> b/drivers/staging/omapdrm/omap_crtc.c
> index 490a7f1..8b864af 100644
> --- a/drivers/staging/omapdrm/omap_crtc.c
> +++ b/drivers/staging/omapdrm/omap_crtc.c
> @@ -36,12 +36,6 @@ struct omap_crtc {
> ? ? ? ?struct drm_framebuffer *old_fb;
> ?};
>
> -static void omap_crtc_gamma_set(struct drm_crtc *crtc,
> - ? ? ? ? ? ? ? u16 *red, u16 *green, u16 *blue, uint32_t start, uint32_t 
> size)
> -{
> - ? ? ? /* not supported.. at least not yet */
> -}
> -
> ?static void omap_crtc_destroy(struct drm_crtc *crtc)
> ?{
> ? ? ? ?struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
> @@ -198,7 +192,6 @@ static int omap_crtc_page_flip_locked(struct drm_crtc 
> *crtc,
> ?}
>
> ?static const struct drm_crtc_funcs omap_crtc_funcs = {
> - ? ? ? .gamma_set = omap_crtc_gamma_set,
> ? ? ? ?.set_config = drm_crtc_helper_set_config,
> ? ? ? ?.destroy = omap_crtc_destroy,
> ? ? ? ?.page_flip = omap_crtc_page_flip_locked,
> --
> 1.7.3.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to