diff mbox series

MEDIA-STAGING: Remove unneeded geometry restrictions from i.MX CSI driver

Message ID m31rnmx2cw.fsf@t19.piap.pl (mailing list archive)
State New, archived
Headers show
Series MEDIA-STAGING: Remove unneeded geometry restrictions from i.MX CSI driver | expand

Commit Message

Krzysztof Hałasa May 14, 2020, 10 a.m. UTC
I don't know what minimal image dimensions are, but 32x32 appears to
be ok according to the docs.
This is needed for small sensors like 80x80 thermal imagers.

Signed-off-by: Krzysztof Halasa <khalasa@piap.pl>

Comments

Philipp Zabel June 26, 2020, 8:58 a.m. UTC | #1
Hi Krzysztof,

thank you for the patch.

On Thu, 2020-05-14 at 12:00 +0200, Krzysztof Hałasa wrote:
> I don't know what minimal image dimensions are, but 32x32 appears to
> be ok according to the docs.
> This is needed for small sensors like 80x80 thermal imagers.
> 
> Signed-off-by: Krzysztof Halasa <khalasa@piap.pl>

This looks fine to me for the CSI. Steve, are you aware of any
limitations?

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
(with CSI crop to 32x32, I have no 32x32 sensors at hand)

regards
Philipp

> diff --git a/drivers/staging/media/imx/imx-ic-prp.c b/drivers/staging/media/imx/imx-ic-prp.c
> index 2a4f77e83ed3..622a52c46229 100644
> --- a/drivers/staging/media/imx/imx-ic-prp.c
> +++ b/drivers/staging/media/imx/imx-ic-prp.c
> @@ -26,8 +26,8 @@
>  /*
>   * Min/Max supported width and heights.
>   */
> -#define MIN_W       176
> -#define MIN_H       144
> +#define MIN_W        32
> +#define MIN_H        32
>  #define MAX_W      4096
>  #define MAX_H      4096
>  #define W_ALIGN    4 /* multiple of 16 pixels */
> diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c b/drivers/staging/media/imx/imx-ic-prpencvf.c
> index 09c4e3f33807..cb46455a1a36 100644
> --- a/drivers/staging/media/imx/imx-ic-prpencvf.c
> +++ b/drivers/staging/media/imx/imx-ic-prpencvf.c
> @@ -35,8 +35,8 @@
>   * has not requested a planar format, we should allow 8 pixel
>   * alignment at the source pad.
>   */
> -#define MIN_W_SINK  176
> -#define MIN_H_SINK  144
> +#define MIN_W_SINK   32
> +#define MIN_H_SINK   32
>  #define MAX_W_SINK 4096
>  #define MAX_H_SINK 4096
>  #define W_ALIGN_SINK  3 /* multiple of 8 pixels */
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index e76a6a85baa3..d9e5388ffeb5 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -33,8 +33,8 @@
>   * has not requested planar formats, we should allow 8 pixel
>   * alignment.
>   */
> -#define MIN_W       176
> -#define MIN_H       144
> +#define MIN_W       32
> +#define MIN_H       32
>  #define MAX_W      4096
>  #define MAX_H      4096
>  #define W_ALIGN    1 /* multiple of 2 pixels */
> diff --git a/drivers/staging/media/imx/imx-media-vdic.c b/drivers/staging/media/imx/imx-media-vdic.c
> index 0d83c2c41606..ee71b70d3544 100644
> --- a/drivers/staging/media/imx/imx-media-vdic.c
> +++ b/drivers/staging/media/imx/imx-media-vdic.c
> @@ -49,8 +49,8 @@ struct vdic_pipeline_ops {
>  /*
>   * Min/Max supported width and heights.
>   */
> -#define MIN_W       176
> -#define MIN_H       144
> +#define MIN_W        32
> +#define MIN_H        32
>  #define MAX_W_VDIC  968
>  #define MAX_H_VDIC 2048
>  #define W_ALIGN    4 /* multiple of 16 pixels */
>
Steve Longerbeam June 26, 2020, 5:16 p.m. UTC | #2
Hi Krzysztof, Philipp,



On 6/26/20 1:58 AM, Philipp Zabel wrote:
> Hi Krzysztof,
>
> thank you for the patch.
>
> On Thu, 2020-05-14 at 12:00 +0200, Krzysztof Hałasa wrote:
>> I don't know what minimal image dimensions are, but 32x32 appears to
>> be ok according to the docs.
>> This is needed for small sensors like 80x80 thermal imagers.
>>
>> Signed-off-by: Krzysztof Halasa <khalasa@piap.pl>
> This looks fine to me for the CSI. Steve, are you aware of any
> limitations?

I looked at the imx6 ref manual and don't see any limitations in IC or 
VDIC or IDMAC or CPMEM, so this is fine to me as well.

One nitpick, please change the all-caps commit subject to

media: imx: Remove unneeded geometry restrictions from i.MX CSI driver

After that,

Acked-by: Steve Longerbeam <slongerbeam@gmail.com>


> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
> Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
> (with CSI crop to 32x32, I have no 32x32 sensors at hand)
>
> regards
> Philipp
>
>> diff --git a/drivers/staging/media/imx/imx-ic-prp.c b/drivers/staging/media/imx/imx-ic-prp.c
>> index 2a4f77e83ed3..622a52c46229 100644
>> --- a/drivers/staging/media/imx/imx-ic-prp.c
>> +++ b/drivers/staging/media/imx/imx-ic-prp.c
>> @@ -26,8 +26,8 @@
>>   /*
>>    * Min/Max supported width and heights.
>>    */
>> -#define MIN_W       176
>> -#define MIN_H       144
>> +#define MIN_W        32
>> +#define MIN_H        32
>>   #define MAX_W      4096
>>   #define MAX_H      4096
>>   #define W_ALIGN    4 /* multiple of 16 pixels */
>> diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c b/drivers/staging/media/imx/imx-ic-prpencvf.c
>> index 09c4e3f33807..cb46455a1a36 100644
>> --- a/drivers/staging/media/imx/imx-ic-prpencvf.c
>> +++ b/drivers/staging/media/imx/imx-ic-prpencvf.c
>> @@ -35,8 +35,8 @@
>>    * has not requested a planar format, we should allow 8 pixel
>>    * alignment at the source pad.
>>    */
>> -#define MIN_W_SINK  176
>> -#define MIN_H_SINK  144
>> +#define MIN_W_SINK   32
>> +#define MIN_H_SINK   32
>>   #define MAX_W_SINK 4096
>>   #define MAX_H_SINK 4096
>>   #define W_ALIGN_SINK  3 /* multiple of 8 pixels */
>> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
>> index e76a6a85baa3..d9e5388ffeb5 100644
>> --- a/drivers/staging/media/imx/imx-media-csi.c
>> +++ b/drivers/staging/media/imx/imx-media-csi.c
>> @@ -33,8 +33,8 @@
>>    * has not requested planar formats, we should allow 8 pixel
>>    * alignment.
>>    */
>> -#define MIN_W       176
>> -#define MIN_H       144
>> +#define MIN_W       32
>> +#define MIN_H       32
>>   #define MAX_W      4096
>>   #define MAX_H      4096
>>   #define W_ALIGN    1 /* multiple of 2 pixels */
>> diff --git a/drivers/staging/media/imx/imx-media-vdic.c b/drivers/staging/media/imx/imx-media-vdic.c
>> index 0d83c2c41606..ee71b70d3544 100644
>> --- a/drivers/staging/media/imx/imx-media-vdic.c
>> +++ b/drivers/staging/media/imx/imx-media-vdic.c
>> @@ -49,8 +49,8 @@ struct vdic_pipeline_ops {
>>   /*
>>    * Min/Max supported width and heights.
>>    */
>> -#define MIN_W       176
>> -#define MIN_H       144
>> +#define MIN_W        32
>> +#define MIN_H        32
>>   #define MAX_W_VDIC  968
>>   #define MAX_H_VDIC 2048
>>   #define W_ALIGN    4 /* multiple of 16 pixels */
>>
diff mbox series

Patch

diff --git a/drivers/staging/media/imx/imx-ic-prp.c b/drivers/staging/media/imx/imx-ic-prp.c
index 2a4f77e83ed3..622a52c46229 100644
--- a/drivers/staging/media/imx/imx-ic-prp.c
+++ b/drivers/staging/media/imx/imx-ic-prp.c
@@ -26,8 +26,8 @@ 
 /*
  * Min/Max supported width and heights.
  */
-#define MIN_W       176
-#define MIN_H       144
+#define MIN_W        32
+#define MIN_H        32
 #define MAX_W      4096
 #define MAX_H      4096
 #define W_ALIGN    4 /* multiple of 16 pixels */
diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c b/drivers/staging/media/imx/imx-ic-prpencvf.c
index 09c4e3f33807..cb46455a1a36 100644
--- a/drivers/staging/media/imx/imx-ic-prpencvf.c
+++ b/drivers/staging/media/imx/imx-ic-prpencvf.c
@@ -35,8 +35,8 @@ 
  * has not requested a planar format, we should allow 8 pixel
  * alignment at the source pad.
  */
-#define MIN_W_SINK  176
-#define MIN_H_SINK  144
+#define MIN_W_SINK   32
+#define MIN_H_SINK   32
 #define MAX_W_SINK 4096
 #define MAX_H_SINK 4096
 #define W_ALIGN_SINK  3 /* multiple of 8 pixels */
diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index e76a6a85baa3..d9e5388ffeb5 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -33,8 +33,8 @@ 
  * has not requested planar formats, we should allow 8 pixel
  * alignment.
  */
-#define MIN_W       176
-#define MIN_H       144
+#define MIN_W       32
+#define MIN_H       32
 #define MAX_W      4096
 #define MAX_H      4096
 #define W_ALIGN    1 /* multiple of 2 pixels */
diff --git a/drivers/staging/media/imx/imx-media-vdic.c b/drivers/staging/media/imx/imx-media-vdic.c
index 0d83c2c41606..ee71b70d3544 100644
--- a/drivers/staging/media/imx/imx-media-vdic.c
+++ b/drivers/staging/media/imx/imx-media-vdic.c
@@ -49,8 +49,8 @@  struct vdic_pipeline_ops {
 /*
  * Min/Max supported width and heights.
  */
-#define MIN_W       176
-#define MIN_H       144
+#define MIN_W        32
+#define MIN_H        32
 #define MAX_W_VDIC  968
 #define MAX_H_VDIC 2048
 #define W_ALIGN    4 /* multiple of 16 pixels */