Re: [PATCH] [media] exynos-gsc: Adding tiled multi-planar format to G-Scaler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sylwester,

On Tue, Nov 20, 2012 at 3:05 AM, Sylwester Nawrocki
<sylvester.nawrocki@xxxxxxxxx> wrote:
> Hi Shaik,
>
>
> On 11/07/2012 07:37 AM, Shaik Ameer Basha wrote:
>>
>> Adding V4L2_PIX_FMT_NV12MT_16X16 to G-Scaler supported formats.
>> If the output or input format is V4L2_PIX_FMT_NV12MT_16X16, configure
>> G-Scaler to use GSC_IN_TILE_MODE.
>>
>> Signed-off-by: Shaik Ameer Basha<shaik.ameer@xxxxxxxxxxx>
>> ---
>>   drivers/media/platform/exynos-gsc/gsc-core.c |    9 +++++++++
>>   drivers/media/platform/exynos-gsc/gsc-core.h |    5 +++++
>>   drivers/media/platform/exynos-gsc/gsc-regs.c |    6 ++++++
>>   3 files changed, 20 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c
>> b/drivers/media/platform/exynos-gsc/gsc-core.c
>> index cc7b218..00f1013 100644
>> --- a/drivers/media/platform/exynos-gsc/gsc-core.c
>> +++ b/drivers/media/platform/exynos-gsc/gsc-core.c
>> @@ -185,6 +185,15 @@ static const struct gsc_fmt gsc_formats[] = {
>>                 .corder         = GSC_CRCB,
>>                 .num_planes     = 3,
>>                 .num_comp       = 3,
>> +       }, {
>> +               .name           = "YUV 4:2:0 non-contig. 2p, Y/CbCr,
>> tiled",
>
>
> I have applied this patch to my tree for v3.8, and I've shortened this
> description like this
>
>                 .name           = "YUV 4:2:0 n.c. 2p, Y/CbCr tiled",
>
> so it fits in 32 char buffer.

Thanks and that should be fine.

>
> There are some too long format descriptions in the driver already.
> Please check output of VIDIOC_ENUM_FMT ioctl, for instance with
> 'v4l2-ctl --list-fmt'.
>
>
>> +               .pixelformat    = V4L2_PIX_FMT_NV12MT_16X16,
>> +               .depth          = { 8, 4 },
>> +               .color          = GSC_YUV420,
>> +               .yorder         = GSC_LSB_Y,
>> +               .corder         = GSC_CBCR,
>> +               .num_planes     = 2,
>> +               .num_comp       = 2,
>>         }
>>   };
>>
>> diff --git a/drivers/media/platform/exynos-gsc/gsc-core.h
>> b/drivers/media/platform/exynos-gsc/gsc-core.h
>> index 5f157ef..cc19bba 100644
>> --- a/drivers/media/platform/exynos-gsc/gsc-core.h
>> +++ b/drivers/media/platform/exynos-gsc/gsc-core.h
>> @@ -427,6 +427,11 @@ static inline void gsc_ctx_state_lock_clear(u32
>> state, struct gsc_ctx *ctx)
>>         spin_unlock_irqrestore(&ctx->gsc_dev->slock, flags);
>>   }
>>
>> +static inline int is_tiled(const struct gsc_fmt *fmt)
>> +{
>> +       return fmt->pixelformat == V4L2_PIX_FMT_NV12MT_16X16;
>> +}
>> +
>>   static inline void gsc_hw_enable_control(struct gsc_dev *dev, bool on)
>>   {
>>         u32 cfg = readl(dev->regs + GSC_ENABLE);
>> diff --git a/drivers/media/platform/exynos-gsc/gsc-regs.c
>> b/drivers/media/platform/exynos-gsc/gsc-regs.c
>> index 0146b35..6f5b5a4 100644
>> --- a/drivers/media/platform/exynos-gsc/gsc-regs.c
>> +++ b/drivers/media/platform/exynos-gsc/gsc-regs.c
>> @@ -214,6 +214,9 @@ void gsc_hw_set_in_image_format(struct gsc_ctx *ctx)
>>                 break;
>>         }
>>
>> +       if (is_tiled(frame->fmt))
>> +               cfg |= GSC_IN_TILE_C_16x8 | GSC_IN_TILE_MODE;
>> +
>>         writel(cfg, dev->regs + GSC_IN_CON);
>>   }
>>
>> @@ -334,6 +337,9 @@ void gsc_hw_set_out_image_format(struct gsc_ctx *ctx)
>>                 break;
>>         }
>>
>> +       if (is_tiled(frame->fmt))
>> +               cfg |= GSC_OUT_TILE_C_16x8 | GSC_OUT_TILE_MODE;
>> +
>>   end_set:
>>         writel(cfg, dev->regs + GSC_OUT_CON);
>>   }
>
>
> Thanks,
> Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux