Re: [PATCH 2/2] media: staging: rkisp1: rsz: set default format if the given format is not RKISP1_DIR_SRC

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

 





On 04.06.20 21:07, Helen Koike wrote:


On 6/4/20 4:00 PM, Dafna Hirschfeld wrote:
When setting the sink format of the 'rkisp1_resizer'
the format should be supported by 'rkisp1_isp' on
the video source pad. This patch checks this condition
and set the format to default if the condition is false.

Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx>
---
  drivers/staging/media/rkisp1/rkisp1-common.h  | 4 ++++
  drivers/staging/media/rkisp1/rkisp1-isp.c     | 4 ----
  drivers/staging/media/rkisp1/rkisp1-resizer.c | 2 +-
  3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/media/rkisp1/rkisp1-common.h b/drivers/staging/media/rkisp1/rkisp1-common.h
index 0c4fe503adc9..39d8e46d8d8a 100644
--- a/drivers/staging/media/rkisp1/rkisp1-common.h
+++ b/drivers/staging/media/rkisp1/rkisp1-common.h
@@ -22,6 +22,10 @@
  #include "rkisp1-regs.h"
  #include "uapi/rkisp1-config.h"
+#define RKISP1_DIR_SRC BIT(0)
+#define RKISP1_DIR_SINK BIT(1)
+#define RKISP1_DIR_SINK_SRC (RKISP1_DIR_SINK | RKISP1_DIR_SRC)

I think we can rename this macro to state explicitly it is the direction from the rkisp1_isp subdevice node
point of view.

Maybe prefix it with RKISP1_ISP_SD_ ?

yes, it's a better name.


Thanks
Helen

+
  #define RKISP1_ISP_MAX_WIDTH		4032
  #define RKISP1_ISP_MAX_HEIGHT		3024
  #define RKISP1_ISP_MIN_WIDTH		32
diff --git a/drivers/staging/media/rkisp1/rkisp1-isp.c b/drivers/staging/media/rkisp1/rkisp1-isp.c
index dc2b59a0160a..e66e87d6ea8b 100644
--- a/drivers/staging/media/rkisp1/rkisp1-isp.c
+++ b/drivers/staging/media/rkisp1/rkisp1-isp.c
@@ -23,10 +23,6 @@
#define RKISP1_ISP_DEV_NAME RKISP1_DRIVER_NAME "_isp" -#define RKISP1_DIR_SRC BIT(0)
-#define RKISP1_DIR_SINK BIT(1)
-#define RKISP1_DIR_SINK_SRC (RKISP1_DIR_SINK | RKISP1_DIR_SRC)
-
  /*
   * NOTE: MIPI controller and input MUX are also configured in this file.
   * This is because ISP Subdev describes not only ISP submodule (input size,
diff --git a/drivers/staging/media/rkisp1/rkisp1-resizer.c b/drivers/staging/media/rkisp1/rkisp1-resizer.c
index d64c064bdb1d..fa28f4bd65c0 100644
--- a/drivers/staging/media/rkisp1/rkisp1-resizer.c
+++ b/drivers/staging/media/rkisp1/rkisp1-resizer.c
@@ -542,7 +542,7 @@ static void rkisp1_rsz_set_sink_fmt(struct rkisp1_resizer *rsz,
  					    which);
  	sink_fmt->code = format->code;
  	mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
-	if (!mbus_info) {
+	if (!mbus_info || !(mbus_info->direction & RKISP1_DIR_SRC)) {

I also think the field 'direction' better change to isp_pads_flags.
It indicates better what this field is.

Thanks,
Dafna

  		sink_fmt->code = RKISP1_DEF_FMT;
  		mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
  	}




[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