All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: add checking DRM_FORMAT_NV12MT
@ 2014-07-28  4:47 Joonyoung Shim
  2014-07-28 15:56 ` Rob Clark
  0 siblings, 1 reply; 4+ messages in thread
From: Joonyoung Shim @ 2014-07-28  4:47 UTC (permalink / raw)
  To: dri-devel; +Cc: sw0312.kim

If user NV12MT uses as pixel format, the Addfb2 ioctl is failed because
of missing to check DRM_FORMAT_NV12MT. The NV12MT pixel format is
supported by exynos4 and some qualcomm chipset and it is used by exynos
drm driver.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
---
 drivers/gpu/drm/drm_crtc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 1ccf5cb..5d7bd49 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -2960,6 +2960,7 @@ static int format_check(const struct drm_mode_fb_cmd2 *r)
 	case DRM_FORMAT_NV61:
 	case DRM_FORMAT_NV24:
 	case DRM_FORMAT_NV42:
+	case DRM_FORMAT_NV12MT:
 	case DRM_FORMAT_YUV410:
 	case DRM_FORMAT_YVU410:
 	case DRM_FORMAT_YUV411:
@@ -4800,6 +4801,7 @@ int drm_format_num_planes(uint32_t format)
 	case DRM_FORMAT_NV61:
 	case DRM_FORMAT_NV24:
 	case DRM_FORMAT_NV42:
+	case DRM_FORMAT_NV12MT:
 		return 2;
 	default:
 		return 1;
@@ -4835,6 +4837,7 @@ int drm_format_plane_cpp(uint32_t format, int plane)
 	case DRM_FORMAT_NV61:
 	case DRM_FORMAT_NV24:
 	case DRM_FORMAT_NV42:
+	case DRM_FORMAT_NV12MT:
 		return plane ? 2 : 1;
 	case DRM_FORMAT_YUV410:
 	case DRM_FORMAT_YVU410:
@@ -4878,6 +4881,7 @@ int drm_format_horz_chroma_subsampling(uint32_t format)
 	case DRM_FORMAT_NV21:
 	case DRM_FORMAT_NV16:
 	case DRM_FORMAT_NV61:
+	case DRM_FORMAT_NV12MT:
 	case DRM_FORMAT_YUV422:
 	case DRM_FORMAT_YVU422:
 	case DRM_FORMAT_YUV420:
@@ -4907,6 +4911,7 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
 	case DRM_FORMAT_YVU420:
 	case DRM_FORMAT_NV12:
 	case DRM_FORMAT_NV21:
+	case DRM_FORMAT_NV12MT:
 		return 2;
 	default:
 		return 1;
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: add checking DRM_FORMAT_NV12MT
  2014-07-28  4:47 [PATCH] drm: add checking DRM_FORMAT_NV12MT Joonyoung Shim
@ 2014-07-28 15:56 ` Rob Clark
  2014-07-28 16:08   ` Ville Syrjälä
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Clark @ 2014-07-28 15:56 UTC (permalink / raw)
  To: Joonyoung Shim; +Cc: Seung-Woo Kim, dri-devel@lists.freedesktop.org

On Mon, Jul 28, 2014 at 12:47 AM, Joonyoung Shim
<jy0922.shim@samsung.com> wrote:
> If user NV12MT uses as pixel format, the Addfb2 ioctl is failed because
> of missing to check DRM_FORMAT_NV12MT. The NV12MT pixel format is
> supported by exynos4 and some qualcomm chipset and it is used by exynos
> drm driver.

tbh, format_check() should probably just be made to respect the
formats advertised by all the planes..

BR,
-R

> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> ---
>  drivers/gpu/drm/drm_crtc.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 1ccf5cb..5d7bd49 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -2960,6 +2960,7 @@ static int format_check(const struct drm_mode_fb_cmd2 *r)
>         case DRM_FORMAT_NV61:
>         case DRM_FORMAT_NV24:
>         case DRM_FORMAT_NV42:
> +       case DRM_FORMAT_NV12MT:
>         case DRM_FORMAT_YUV410:
>         case DRM_FORMAT_YVU410:
>         case DRM_FORMAT_YUV411:
> @@ -4800,6 +4801,7 @@ int drm_format_num_planes(uint32_t format)
>         case DRM_FORMAT_NV61:
>         case DRM_FORMAT_NV24:
>         case DRM_FORMAT_NV42:
> +       case DRM_FORMAT_NV12MT:
>                 return 2;
>         default:
>                 return 1;
> @@ -4835,6 +4837,7 @@ int drm_format_plane_cpp(uint32_t format, int plane)
>         case DRM_FORMAT_NV61:
>         case DRM_FORMAT_NV24:
>         case DRM_FORMAT_NV42:
> +       case DRM_FORMAT_NV12MT:
>                 return plane ? 2 : 1;
>         case DRM_FORMAT_YUV410:
>         case DRM_FORMAT_YVU410:
> @@ -4878,6 +4881,7 @@ int drm_format_horz_chroma_subsampling(uint32_t format)
>         case DRM_FORMAT_NV21:
>         case DRM_FORMAT_NV16:
>         case DRM_FORMAT_NV61:
> +       case DRM_FORMAT_NV12MT:
>         case DRM_FORMAT_YUV422:
>         case DRM_FORMAT_YVU422:
>         case DRM_FORMAT_YUV420:
> @@ -4907,6 +4911,7 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
>         case DRM_FORMAT_YVU420:
>         case DRM_FORMAT_NV12:
>         case DRM_FORMAT_NV21:
> +       case DRM_FORMAT_NV12MT:
>                 return 2;
>         default:
>                 return 1;
> --
> 1.8.1.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: add checking DRM_FORMAT_NV12MT
  2014-07-28 15:56 ` Rob Clark
@ 2014-07-28 16:08   ` Ville Syrjälä
  2014-08-29  7:21     ` Joonyoung Shim
  0 siblings, 1 reply; 4+ messages in thread
From: Ville Syrjälä @ 2014-07-28 16:08 UTC (permalink / raw)
  To: Rob Clark; +Cc: Seung-Woo Kim, dri-devel@lists.freedesktop.org

On Mon, Jul 28, 2014 at 11:56:59AM -0400, Rob Clark wrote:
> On Mon, Jul 28, 2014 at 12:47 AM, Joonyoung Shim
> <jy0922.shim@samsung.com> wrote:
> > If user NV12MT uses as pixel format, the Addfb2 ioctl is failed because
> > of missing to check DRM_FORMAT_NV12MT. The NV12MT pixel format is
> > supported by exynos4 and some qualcomm chipset and it is used by exynos
> > drm driver.
> 
> tbh, format_check() should probably just be made to respect the
> formats advertised by all the planes..

That can't be done until all drivers are converted to primary/cursor
planes. Also I'm not sure if we should allow it even then since that
would make it quite easy to sneak in new driver specific formats
without anyone necessarily reviewing them.

> 
> BR,
> -R
> 
> > Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> > ---
> >  drivers/gpu/drm/drm_crtc.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> > index 1ccf5cb..5d7bd49 100644
> > --- a/drivers/gpu/drm/drm_crtc.c
> > +++ b/drivers/gpu/drm/drm_crtc.c
> > @@ -2960,6 +2960,7 @@ static int format_check(const struct drm_mode_fb_cmd2 *r)
> >         case DRM_FORMAT_NV61:
> >         case DRM_FORMAT_NV24:
> >         case DRM_FORMAT_NV42:
> > +       case DRM_FORMAT_NV12MT:
> >         case DRM_FORMAT_YUV410:
> >         case DRM_FORMAT_YVU410:
> >         case DRM_FORMAT_YUV411:
> > @@ -4800,6 +4801,7 @@ int drm_format_num_planes(uint32_t format)
> >         case DRM_FORMAT_NV61:
> >         case DRM_FORMAT_NV24:
> >         case DRM_FORMAT_NV42:
> > +       case DRM_FORMAT_NV12MT:
> >                 return 2;
> >         default:
> >                 return 1;
> > @@ -4835,6 +4837,7 @@ int drm_format_plane_cpp(uint32_t format, int plane)
> >         case DRM_FORMAT_NV61:
> >         case DRM_FORMAT_NV24:
> >         case DRM_FORMAT_NV42:
> > +       case DRM_FORMAT_NV12MT:
> >                 return plane ? 2 : 1;
> >         case DRM_FORMAT_YUV410:
> >         case DRM_FORMAT_YVU410:
> > @@ -4878,6 +4881,7 @@ int drm_format_horz_chroma_subsampling(uint32_t format)
> >         case DRM_FORMAT_NV21:
> >         case DRM_FORMAT_NV16:
> >         case DRM_FORMAT_NV61:
> > +       case DRM_FORMAT_NV12MT:
> >         case DRM_FORMAT_YUV422:
> >         case DRM_FORMAT_YVU422:
> >         case DRM_FORMAT_YUV420:
> > @@ -4907,6 +4911,7 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
> >         case DRM_FORMAT_YVU420:
> >         case DRM_FORMAT_NV12:
> >         case DRM_FORMAT_NV21:
> > +       case DRM_FORMAT_NV12MT:
> >                 return 2;
> >         default:
> >                 return 1;
> > --
> > 1.8.1.2
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: add checking DRM_FORMAT_NV12MT
  2014-07-28 16:08   ` Ville Syrjälä
@ 2014-08-29  7:21     ` Joonyoung Shim
  0 siblings, 0 replies; 4+ messages in thread
From: Joonyoung Shim @ 2014-08-29  7:21 UTC (permalink / raw)
  To: airlied, Joonyoung Shim; +Cc: Seung-Woo Kim, dri-devel@lists.freedesktop.org

Hi Dave,

On 07/29/2014 01:08 AM, Ville Syrjälä wrote:
> On Mon, Jul 28, 2014 at 11:56:59AM -0400, Rob Clark wrote:
>> On Mon, Jul 28, 2014 at 12:47 AM, Joonyoung Shim
>> <jy0922.shim@samsung.com> wrote:
>>> If user NV12MT uses as pixel format, the Addfb2 ioctl is failed because
>>> of missing to check DRM_FORMAT_NV12MT. The NV12MT pixel format is
>>> supported by exynos4 and some qualcomm chipset and it is used by exynos
>>> drm driver.

If there is no any objection, could you merge this?

Thanks.

>>
>> tbh, format_check() should probably just be made to respect the
>> formats advertised by all the planes..
> 
> That can't be done until all drivers are converted to primary/cursor
> planes. Also I'm not sure if we should allow it even then since that
> would make it quite easy to sneak in new driver specific formats
> without anyone necessarily reviewing them.
> 
>>
>> BR,
>> -R
>>
>>> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
>>> ---
>>>  drivers/gpu/drm/drm_crtc.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
>>> index 1ccf5cb..5d7bd49 100644
>>> --- a/drivers/gpu/drm/drm_crtc.c
>>> +++ b/drivers/gpu/drm/drm_crtc.c
>>> @@ -2960,6 +2960,7 @@ static int format_check(const struct drm_mode_fb_cmd2 *r)
>>>         case DRM_FORMAT_NV61:
>>>         case DRM_FORMAT_NV24:
>>>         case DRM_FORMAT_NV42:
>>> +       case DRM_FORMAT_NV12MT:
>>>         case DRM_FORMAT_YUV410:
>>>         case DRM_FORMAT_YVU410:
>>>         case DRM_FORMAT_YUV411:
>>> @@ -4800,6 +4801,7 @@ int drm_format_num_planes(uint32_t format)
>>>         case DRM_FORMAT_NV61:
>>>         case DRM_FORMAT_NV24:
>>>         case DRM_FORMAT_NV42:
>>> +       case DRM_FORMAT_NV12MT:
>>>                 return 2;
>>>         default:
>>>                 return 1;
>>> @@ -4835,6 +4837,7 @@ int drm_format_plane_cpp(uint32_t format, int plane)
>>>         case DRM_FORMAT_NV61:
>>>         case DRM_FORMAT_NV24:
>>>         case DRM_FORMAT_NV42:
>>> +       case DRM_FORMAT_NV12MT:
>>>                 return plane ? 2 : 1;
>>>         case DRM_FORMAT_YUV410:
>>>         case DRM_FORMAT_YVU410:
>>> @@ -4878,6 +4881,7 @@ int drm_format_horz_chroma_subsampling(uint32_t format)
>>>         case DRM_FORMAT_NV21:
>>>         case DRM_FORMAT_NV16:
>>>         case DRM_FORMAT_NV61:
>>> +       case DRM_FORMAT_NV12MT:
>>>         case DRM_FORMAT_YUV422:
>>>         case DRM_FORMAT_YVU422:
>>>         case DRM_FORMAT_YUV420:
>>> @@ -4907,6 +4911,7 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
>>>         case DRM_FORMAT_YVU420:
>>>         case DRM_FORMAT_NV12:
>>>         case DRM_FORMAT_NV21:
>>> +       case DRM_FORMAT_NV12MT:
>>>                 return 2;
>>>         default:
>>>                 return 1;
>>> --
>>> 1.8.1.2
>>>
>>> _______________________________________________
>>> dri-devel mailing list
>>> dri-devel@lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-08-29  7:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-28  4:47 [PATCH] drm: add checking DRM_FORMAT_NV12MT Joonyoung Shim
2014-07-28 15:56 ` Rob Clark
2014-07-28 16:08   ` Ville Syrjälä
2014-08-29  7:21     ` Joonyoung Shim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.