* [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation
@ 2025-04-07 13:40 Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 1/7] media: intel/ipu6: Use isd name in isys.h Stanislaw Gruszka
` (7 more replies)
0 siblings, 8 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
Move and rename more structures to isys.h. Add accessors to make
further transformation easier.
This is on top of:
https://git.linuxtv.org/sailus/media_tree.git/log/?h=devel
plus:
https://lore.kernel.org/linux-media/20250317073856.162147-1-stanislaw.gruszka@linux.intel.com/
https://lore.kernel.org/linux-media/20250401090953.473339-1-stanislaw.gruszka@linux.intel.com/
Stanislaw Gruszka (7):
media: intel/ipu6: Use isd name in isys.h
media: intel/ipu6: Remove line_align
media: intel/ipu6: Move common structures definitions to isys.h
media: intel/ipu6: Rename common structures
media: intel/ipu6: Remove deprecated lock comment
media: intel/ipu6: Introduce isys and dev accessors macros
media: intel/ipu6: Start using accessors to get dev pointer
drivers/media/pci/intel/ipu6/ipu6-fw-isys.c | 14 +-
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 20 +-
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h | 6 +-
.../media/pci/intel/ipu6/ipu6-isys-dwc-phy.c | 16 +-
.../media/pci/intel/ipu6/ipu6-isys-jsl-phy.c | 8 +-
.../media/pci/intel/ipu6/ipu6-isys-mcd-phy.c | 10 +-
.../media/pci/intel/ipu6/ipu6-isys-queue.c | 180 +++++++++---------
.../media/pci/intel/ipu6/ipu6-isys-queue.h | 66 +------
.../media/pci/intel/ipu6/ipu6-isys-video.c | 84 ++++----
.../media/pci/intel/ipu6/ipu6-isys-video.h | 77 +-------
drivers/media/pci/intel/ipu6/ipu6-isys.c | 35 ++--
drivers/media/pci/intel/ipu6/ipu6-isys.h | 35 +++-
drivers/media/pci/intel/ipu6/isys.h | 103 +++++++++-
13 files changed, 332 insertions(+), 322 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/7] media: intel/ipu6: Use isd name in isys.h
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 2/7] media: intel/ipu6: Remove line_align Stanislaw Gruszka
` (6 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
Rename asd to isd also in isys.h
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
drivers/media/pci/intel/ipu6/isys.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/pci/intel/ipu6/isys.h b/drivers/media/pci/intel/ipu6/isys.h
index 4bde32f6d767..b6ddadfc374b 100644
--- a/drivers/media/pci/intel/ipu6/isys.h
+++ b/drivers/media/pci/intel/ipu6/isys.h
@@ -35,8 +35,8 @@ int isys_subdev_set_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_state *state,
int isys_subdev_enum_mbus_code(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state,
struct v4l2_subdev_mbus_code_enum *code);
-int isys_subdev_init(struct isys_subdev *asd, struct device *dev,
+int isys_subdev_init(struct isys_subdev *isd, struct device *dev,
const struct v4l2_subdev_ops *ops, unsigned int nr_ctrls,
unsigned int num_sink_pads, unsigned int num_source_pads);
-void isys_subdev_cleanup(struct isys_subdev *asd);
+void isys_subdev_cleanup(struct isys_subdev *isd);
#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/7] media: intel/ipu6: Remove line_align
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 1/7] media: intel/ipu6: Use isd name in isys.h Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-10 12:04 ` Sakari Ailus
2025-04-07 13:40 ` [PATCH 3/7] media: intel/ipu6: Move common structures definitions to isys.h Stanislaw Gruszka
` (5 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
isys->line_align value is only used in one place and we can just use
the proper value directly there.
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +-
drivers/media/pci/intel/ipu6/ipu6-isys.c | 1 -
drivers/media/pci/intel/ipu6/ipu6-isys.h | 4 ----
3 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
index e36a21aa9040..3165904d7ebf 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
@@ -241,7 +241,7 @@ static void ipu6_isys_try_fmt_cap(struct ipu6_isys_video *av, u32 type,
else
*bytesperline = DIV_ROUND_UP(*width * pfmt->bpp, BITS_PER_BYTE);
- *bytesperline = ALIGN(*bytesperline, av->isys->line_align);
+ *bytesperline = ALIGN(*bytesperline, 64);
/*
* (height + 1) * bytesperline due to a hardware issue: the DMA unit
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.c b/drivers/media/pci/intel/ipu6/ipu6-isys.c
index 9b7ff5c440de..2267784b86bc 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.c
@@ -1089,7 +1089,6 @@ static int isys_probe(struct auxiliary_device *auxdev,
INIT_LIST_HEAD(&isys->framebuflist);
INIT_LIST_HEAD(&isys->framebuflist_fw);
- isys->line_align = IPU6_ISYS_2600_MEM_LINE_ALIGN;
isys->icache_prefetch = 0;
dev_set_drvdata(&auxdev->dev, isys);
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.h b/drivers/media/pci/intel/ipu6/ipu6-isys.h
index 610b60e69152..f488e782c26e 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.h
@@ -29,8 +29,6 @@ struct ipu6_bus_device;
IPU6_ISYS_UNISPART_IRQ_CSI0 | \
IPU6_ISYS_UNISPART_IRQ_CSI1)
-#define IPU6_ISYS_2600_MEM_LINE_ALIGN 64
-
/*
* Current message queue configuration. These must be big enough
* so that they never gets full. Queues are located in system memory
@@ -118,7 +116,6 @@ struct sensor_async_sd {
* @streams: streams per firmware stream ID
* @fwcom: fw communication layer private pointer
* or optional external library private pointer
- * @line_align: line alignment in memory
* @phy_termcal_val: the termination calibration value, only used for DWC PHY
* @need_reset: Isys requires d0i0->i3 transition
* @ref_count: total number of callers fw open
@@ -140,7 +137,6 @@ struct ipu6_isys {
struct ipu6_isys_stream streams[IPU6_ISYS_MAX_STREAMS];
int streams_ref_count[IPU6_ISYS_MAX_STREAMS];
void *fwcom;
- unsigned int line_align;
u32 phy_termcal_val;
bool need_reset;
bool icache_prefetch;
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/7] media: intel/ipu6: Move common structures definitions to isys.h
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 1/7] media: intel/ipu6: Use isd name in isys.h Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 2/7] media: intel/ipu6: Remove line_align Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 4/7] media: intel/ipu6: Rename common structures Stanislaw Gruszka
` (4 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
Move some structures that will be reused in ipu7 to isys.h file.
Use one header file instead of multiple, since we frequently include
most of ipu6-*.h headers in c files anyways.
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
.../media/pci/intel/ipu6/ipu6-isys-queue.c | 1 +
.../media/pci/intel/ipu6/ipu6-isys-queue.h | 56 +---------
.../media/pci/intel/ipu6/ipu6-isys-video.h | 59 +---------
drivers/media/pci/intel/ipu6/isys.h | 102 ++++++++++++++++++
4 files changed, 105 insertions(+), 113 deletions(-)
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
index 5fc52a3b89e6..252097c61d0a 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
@@ -20,6 +20,7 @@
#include "ipu6-dma.h"
#include "ipu6-fw-isys.h"
#include "ipu6-isys.h"
+#include "ipu6-isys-queue.h"
#include "ipu6-isys-video.h"
static int ipu6_isys_buf_init(struct vb2_buffer *vb)
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h
index 00666098bbdc..6a95858bfd59 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h
@@ -4,62 +4,8 @@
#ifndef IPU6_ISYS_QUEUE_H
#define IPU6_ISYS_QUEUE_H
-#include <linux/container_of.h>
-#include <linux/atomic.h>
-#include <linux/device.h>
-#include <linux/list.h>
-#include <linux/spinlock_types.h>
-
-#include <media/videobuf2-v4l2.h>
-
#include "ipu6-fw-isys.h"
-#include "ipu6-isys-video.h"
-
-struct ipu6_isys_stream;
-
-struct ipu6_isys_queue {
- struct vb2_queue vbq;
- struct list_head node;
- /*
- * @lock: serialise access to queued and pre_streamon_queued
- */
- spinlock_t lock;
- struct list_head active;
- struct list_head incoming;
- unsigned int fw_output;
-};
-
-struct ipu6_isys_buffer {
- struct list_head head;
- atomic_t str2mmio_flag;
-};
-
-struct ipu6_isys_video_buffer {
- struct vb2_v4l2_buffer vb_v4l2;
- struct ipu6_isys_buffer ib;
- dma_addr_t dma_addr;
-};
-
-#define IPU6_ISYS_BUFFER_LIST_FL_INCOMING BIT(0)
-#define IPU6_ISYS_BUFFER_LIST_FL_ACTIVE BIT(1)
-#define IPU6_ISYS_BUFFER_LIST_FL_SET_STATE BIT(2)
-
-struct ipu6_isys_buffer_list {
- struct list_head head;
- unsigned int nbufs;
-};
-
-#define vb2_queue_to_isys_queue(__vb2) \
- container_of(__vb2, struct ipu6_isys_queue, vbq)
-
-#define ipu6_isys_to_isys_video_buffer(__ib) \
- container_of(__ib, struct ipu6_isys_video_buffer, ib)
-
-#define vb2_buffer_to_ipu6_isys_video_buffer(__vvb) \
- container_of(__vvb, struct ipu6_isys_video_buffer, vb_v4l2)
-
-#define ipu6_isys_buffer_to_vb2_buffer(__ib) \
- (&ipu6_isys_to_isys_video_buffer(__ib)->vb_v4l2.vb2_buf)
+#include "isys.h"
void ipu6_isys_buffer_list_queue(struct ipu6_isys_buffer_list *bl,
unsigned long op_flags,
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.h b/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
index f4dee6120635..bca8e65dd5ec 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
@@ -13,64 +13,7 @@
#include <media/media-entity.h>
#include <media/v4l2-dev.h>
-#include "ipu6-isys-queue.h"
-
-#define IPU6_ISYS_OUTPUT_PINS 11
-#define IPU6_ISYS_MAX_PARALLEL_SOF 2
-
-struct file;
-struct ipu6_isys;
-struct ipu6_isys_csi2;
-struct isys_subdev;
-
-struct ipu6_isys_pixelformat {
- u32 pixelformat;
- u32 bpp;
- u32 bpp_packed;
- u32 code;
- u32 css_pixelformat;
- bool is_meta;
-};
-
-struct sequence_info {
- unsigned int sequence;
- u64 timestamp;
-};
-
-struct output_pin_data {
- void (*pin_ready)(struct ipu6_isys_stream *stream, void *_info);
- struct ipu6_isys_queue *aq;
-};
-
-/*
- * Align with firmware stream. Each stream represents a CSI virtual channel.
- * May map to multiple video devices
- */
-struct ipu6_isys_stream {
- struct mutex mutex;
- struct media_entity *source_entity;
- atomic_t sequence;
- unsigned int seq_index;
- struct sequence_info seq[IPU6_ISYS_MAX_PARALLEL_SOF];
- int stream_source;
- int stream_handle;
- unsigned int nr_output_pins;
- struct isys_subdev *asd;
-
- int nr_queues; /* Number of capture queues */
- int nr_streaming;
- int streaming; /* Has streaming been really started? */
- struct list_head queues;
- struct completion stream_open_completion;
- struct completion stream_close_completion;
- struct completion stream_start_completion;
- struct completion stream_stop_completion;
- struct ipu6_isys *isys;
-
- struct output_pin_data output_pins[IPU6_ISYS_OUTPUT_PINS];
- int error;
- u8 vc;
-};
+#include "isys.h"
struct video_stream_watermark {
u32 width;
diff --git a/drivers/media/pci/intel/ipu6/isys.h b/drivers/media/pci/intel/ipu6/isys.h
index b6ddadfc374b..f2a49694a050 100644
--- a/drivers/media/pci/intel/ipu6/isys.h
+++ b/drivers/media/pci/intel/ipu6/isys.h
@@ -4,10 +4,14 @@
#ifndef ISYS_H
#define ISYS_H
+#include <linux/atomic.h>
#include <linux/container_of.h>
+#include <linux/list.h>
+#include <linux/mutex.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-subdev.h>
+#include <media/videobuf2-v4l2.h>
struct isys_subdev {
struct v4l2_subdev sd;
@@ -20,6 +24,104 @@ struct isys_subdev {
#define to_isys_subdev(__sd) container_of(__sd, struct isys_subdev, sd)
+struct ipu6_isys_queue {
+ struct vb2_queue vbq;
+ struct list_head node;
+ /*
+ * @lock: serialise access to queued and pre_streamon_queued
+ */
+ spinlock_t lock;
+ struct list_head active;
+ struct list_head incoming;
+ unsigned int fw_output;
+};
+
+struct ipu6_isys_buffer {
+ struct list_head head;
+ atomic_t str2mmio_flag;
+};
+
+struct ipu6_isys_video_buffer {
+ struct vb2_v4l2_buffer vb_v4l2;
+ struct ipu6_isys_buffer ib;
+ dma_addr_t dma_addr;
+};
+
+struct ipu6_isys_buffer_list {
+ struct list_head head;
+ unsigned int nbufs;
+};
+
+#define vb2_queue_to_isys_queue(__vb2) \
+ container_of(__vb2, struct ipu6_isys_queue, vbq)
+
+#define vb2_buffer_to_ipu6_isys_video_buffer(__vvb) \
+ container_of(__vvb, struct ipu6_isys_video_buffer, vb_v4l2)
+
+#define ipu6_isys_to_isys_video_buffer(__ib) \
+ container_of(__ib, struct ipu6_isys_video_buffer, ib)
+
+#define ipu6_isys_buffer_to_vb2_buffer(__ib) \
+ (&ipu6_isys_to_isys_video_buffer(__ib)->vb_v4l2.vb2_buf)
+
+#define IPU6_ISYS_BUFFER_LIST_FL_INCOMING BIT(0)
+#define IPU6_ISYS_BUFFER_LIST_FL_ACTIVE BIT(1)
+#define IPU6_ISYS_BUFFER_LIST_FL_SET_STATE BIT(2)
+
+#define IPU6_ISYS_OUTPUT_PINS 11
+#define IPU6_ISYS_MAX_PARALLEL_SOF 2
+
+struct ipu6_isys_pixelformat {
+ u32 pixelformat;
+ u32 bpp;
+ u32 bpp_packed;
+ u32 code;
+ u32 css_pixelformat;
+ bool is_meta;
+};
+
+struct isys_sequence_info {
+ unsigned int sequence;
+ u64 timestamp;
+};
+
+struct ipu6_isys_stream;
+
+struct isys_output_pin_data {
+ void (*pin_ready)(struct ipu6_isys_stream *stream, void *_info);
+ struct ipu6_isys_queue *aq;
+};
+
+/*
+ * Align with firmware stream. Each stream represents a CSI virtual channel.
+ * May map to multiple video devices
+ */
+struct ipu6_isys_stream {
+ struct mutex mutex;
+ struct media_entity *source_entity;
+ atomic_t sequence;
+ unsigned int seq_index;
+ struct isys_sequence_info seq[IPU6_ISYS_MAX_PARALLEL_SOF];
+ int stream_source;
+ int stream_handle;
+ unsigned int nr_output_pins;
+ struct isys_subdev *asd;
+
+ int nr_queues; /* Number of capture queues */
+ int nr_streaming;
+ int streaming; /* Has streaming been really started? */
+ struct list_head queues;
+ struct completion stream_open_completion;
+ struct completion stream_close_completion;
+ struct completion stream_start_completion;
+ struct completion stream_stop_completion;
+ struct ipu6_isys *isys;
+
+ struct isys_output_pin_data output_pins[IPU6_ISYS_OUTPUT_PINS];
+ int error;
+ u8 vc;
+};
+
int isys_get_stream_pad_fmt(struct v4l2_subdev *sd, u32 pad, u32 stream,
struct v4l2_mbus_framefmt *format);
int isys_get_stream_pad_crop(struct v4l2_subdev *sd, u32 pad, u32 stream,
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 4/7] media: intel/ipu6: Rename common structures
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
` (2 preceding siblings ...)
2025-04-07 13:40 ` [PATCH 3/7] media: intel/ipu6: Move common structures definitions to isys.h Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 5/7] media: intel/ipu6: Remove deprecated lock comment Stanislaw Gruszka
` (3 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
Rename common structures and defines with isys_ prefix. This makes
clean distinction of what data/code belongs to each part of the
driver.
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 4 +-
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h | 6 +-
.../media/pci/intel/ipu6/ipu6-isys-queue.c | 155 +++++++++---------
.../media/pci/intel/ipu6/ipu6-isys-queue.h | 10 +-
.../media/pci/intel/ipu6/ipu6-isys-video.c | 52 +++---
.../media/pci/intel/ipu6/ipu6-isys-video.h | 18 +-
drivers/media/pci/intel/ipu6/ipu6-isys.c | 14 +-
drivers/media/pci/intel/ipu6/ipu6-isys.h | 4 +-
drivers/media/pci/intel/ipu6/isys.h | 48 +++---
9 files changed, 155 insertions(+), 156 deletions(-)
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
index 5c4baaffa092..ddd19cde69be 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
@@ -556,7 +556,7 @@ int ipu6_isys_csi2_init(struct ipu6_isys_csi2 *csi2,
return ret;
}
-void ipu6_isys_csi2_sof_event_by_stream(struct ipu6_isys_stream *stream)
+void ipu6_isys_csi2_sof_event_by_stream(struct isys_stream *stream)
{
struct video_device *vdev = stream->asd->sd.devnode;
struct device *dev = &stream->isys->adev->auxdev.dev;
@@ -572,7 +572,7 @@ void ipu6_isys_csi2_sof_event_by_stream(struct ipu6_isys_stream *stream)
csi2->port, ev.u.frame_sync.frame_sequence, stream->vc);
}
-void ipu6_isys_csi2_eof_event_by_stream(struct ipu6_isys_stream *stream)
+void ipu6_isys_csi2_eof_event_by_stream(struct isys_stream *stream)
{
struct device *dev = &stream->isys->adev->auxdev.dev;
struct ipu6_isys_csi2 *csi2 = to_ipu6_isys_csi2(stream->asd);
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h
index 7deafead66cf..8b39c139a803 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h
@@ -16,7 +16,7 @@ struct v4l2_mbus_frame_desc_entry;
struct ipu6_isys_video;
struct ipu6_isys;
-struct ipu6_isys_stream;
+struct isys_stream;
#define NR_OF_CSI2_VC 16
#define INVALID_VC_ID -1
@@ -65,8 +65,8 @@ s64 ipu6_isys_csi2_get_link_freq(struct ipu6_isys_csi2 *csi2);
int ipu6_isys_csi2_init(struct ipu6_isys_csi2 *csi2, struct ipu6_isys *isys,
void __iomem *base, unsigned int index);
void ipu6_isys_csi2_cleanup(struct ipu6_isys_csi2 *csi2);
-void ipu6_isys_csi2_sof_event_by_stream(struct ipu6_isys_stream *stream);
-void ipu6_isys_csi2_eof_event_by_stream(struct ipu6_isys_stream *stream);
+void ipu6_isys_csi2_sof_event_by_stream(struct isys_stream *stream);
+void ipu6_isys_csi2_eof_event_by_stream(struct isys_stream *stream);
void ipu6_isys_register_errors(struct ipu6_isys_csi2 *csi2);
void ipu6_isys_csi2_error(struct ipu6_isys_csi2 *csi2);
int ipu6_isys_csi2_get_remote_desc(u32 source_stream,
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
index 252097c61d0a..d9457176f32f 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
@@ -28,8 +28,8 @@ static int ipu6_isys_buf_init(struct vb2_buffer *vb)
struct ipu6_isys *isys = vb2_get_drv_priv(vb->vb2_queue);
struct sg_table *sg = vb2_dma_sg_plane_desc(vb, 0);
struct vb2_v4l2_buffer *vvb = to_vb2_v4l2_buffer(vb);
- struct ipu6_isys_video_buffer *ivb =
- vb2_buffer_to_ipu6_isys_video_buffer(vvb);
+ struct isys_video_buffer *ivb =
+ vb2_buffer_to_isys_video_buffer(vvb);
int ret;
ret = ipu6_dma_map_sgtable(isys->adev, sg, DMA_TO_DEVICE, 0);
@@ -46,8 +46,8 @@ static void ipu6_isys_buf_cleanup(struct vb2_buffer *vb)
struct ipu6_isys *isys = vb2_get_drv_priv(vb->vb2_queue);
struct sg_table *sg = vb2_dma_sg_plane_desc(vb, 0);
struct vb2_v4l2_buffer *vvb = to_vb2_v4l2_buffer(vb);
- struct ipu6_isys_video_buffer *ivb =
- vb2_buffer_to_ipu6_isys_video_buffer(vvb);
+ struct isys_video_buffer *ivb =
+ vb2_buffer_to_isys_video_buffer(vvb);
ivb->dma_addr = 0;
ipu6_dma_unmap_sgtable(isys->adev, sg, DMA_TO_DEVICE, 0);
@@ -57,7 +57,7 @@ static int ipu6_isys_queue_setup(struct vb2_queue *q, unsigned int *num_buffers,
unsigned int *num_planes, unsigned int sizes[],
struct device *alloc_devs[])
{
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(q);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(q);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
struct device *dev = &av->isys->adev->auxdev.dev;
u32 size = ipu6_isys_get_data_size(av);
@@ -78,7 +78,7 @@ static int ipu6_isys_queue_setup(struct vb2_queue *q, unsigned int *num_buffers,
static int ipu6_isys_buf_prepare(struct vb2_buffer *vb)
{
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
struct device *dev = &av->isys->adev->auxdev.dev;
u32 bytesperline = ipu6_isys_get_bytes_per_line(av);
@@ -100,11 +100,11 @@ static int ipu6_isys_buf_prepare(struct vb2_buffer *vb)
* Queue a buffer list back to incoming or active queues. The buffers
* are removed from the buffer list.
*/
-void ipu6_isys_buffer_list_queue(struct ipu6_isys_buffer_list *bl,
+void ipu6_isys_buffer_list_queue(struct isys_buffer_list *bl,
unsigned long op_flags,
enum vb2_buffer_state state)
{
- struct ipu6_isys_buffer *ib, *ib_safe;
+ struct isys_buffer *ib, *ib_safe;
unsigned long flags;
bool first = true;
@@ -112,13 +112,13 @@ void ipu6_isys_buffer_list_queue(struct ipu6_isys_buffer_list *bl,
return;
WARN_ON_ONCE(!bl->nbufs);
- WARN_ON_ONCE(op_flags & IPU6_ISYS_BUFFER_LIST_FL_ACTIVE &&
- op_flags & IPU6_ISYS_BUFFER_LIST_FL_INCOMING);
+ WARN_ON_ONCE(op_flags & ISYS_BUFFER_LIST_ACTIVE &&
+ op_flags & ISYS_BUFFER_LIST_INCOMING);
list_for_each_entry_safe(ib, ib_safe, &bl->head, head) {
struct ipu6_isys_video *av;
- struct vb2_buffer *vb = ipu6_isys_buffer_to_vb2_buffer(ib);
- struct ipu6_isys_queue *aq =
+ struct vb2_buffer *vb = isys_buffer_to_vb2_buffer(ib);
+ struct isys_queue *aq =
vb2_queue_to_isys_queue(vb->vb2_queue);
struct device *dev;
@@ -126,13 +126,13 @@ void ipu6_isys_buffer_list_queue(struct ipu6_isys_buffer_list *bl,
dev = &av->isys->adev->auxdev.dev;
spin_lock_irqsave(&aq->lock, flags);
list_del(&ib->head);
- if (op_flags & IPU6_ISYS_BUFFER_LIST_FL_ACTIVE)
+ if (op_flags & ISYS_BUFFER_LIST_ACTIVE)
list_add(&ib->head, &aq->active);
- else if (op_flags & IPU6_ISYS_BUFFER_LIST_FL_INCOMING)
+ else if (op_flags & ISYS_BUFFER_LIST_INCOMING)
list_add_tail(&ib->head, &aq->incoming);
spin_unlock_irqrestore(&aq->lock, flags);
- if (op_flags & IPU6_ISYS_BUFFER_LIST_FL_SET_STATE)
+ if (op_flags & ISYS_BUFFER_LIST_SET_STATE)
vb2_buffer_done(vb, state);
if (first) {
@@ -153,22 +153,22 @@ void ipu6_isys_buffer_list_queue(struct ipu6_isys_buffer_list *bl,
* have been queued to firmware and the *firmware streamon fails for a
* reason or another.
*/
-static void flush_firmware_streamon_fail(struct ipu6_isys_stream *stream)
+static void flush_firmware_streamon_fail(struct isys_stream *stream)
{
struct device *dev = &stream->isys->adev->auxdev.dev;
- struct ipu6_isys_queue *aq;
+ struct isys_queue *aq;
unsigned long flags;
lockdep_assert_held(&stream->mutex);
list_for_each_entry(aq, &stream->queues, node) {
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct ipu6_isys_buffer *ib, *ib_safe;
+ struct isys_buffer *ib, *ib_safe;
spin_lock_irqsave(&aq->lock, flags);
list_for_each_entry_safe(ib, ib_safe, &aq->active, head) {
struct vb2_buffer *vb =
- ipu6_isys_buffer_to_vb2_buffer(ib);
+ isys_buffer_to_vb2_buffer(ib);
list_del(&ib->head);
if (av->streaming) {
@@ -182,7 +182,7 @@ static void flush_firmware_streamon_fail(struct ipu6_isys_stream *stream)
/* Queue not yet streaming, return to user. */
dev_dbg(dev, "%s: return %u back to videobuf2\n",
av->vdev.name, vb->index);
- vb2_buffer_done(ipu6_isys_buffer_to_vb2_buffer(ib),
+ vb2_buffer_done(isys_buffer_to_vb2_buffer(ib),
VB2_BUF_STATE_QUEUED);
}
spin_unlock_irqrestore(&aq->lock, flags);
@@ -194,19 +194,19 @@ static void flush_firmware_streamon_fail(struct ipu6_isys_stream *stream)
* that contains one entry from each video buffer queue. If a buffer can't be
* obtained from every queue, the buffers are returned back to the queue.
*/
-static int buffer_list_get(struct ipu6_isys_stream *stream,
- struct ipu6_isys_buffer_list *bl)
+static int buffer_list_get(struct isys_stream *stream,
+ struct isys_buffer_list *bl)
{
struct device *dev = &stream->isys->adev->auxdev.dev;
- struct ipu6_isys_queue *aq;
+ struct isys_queue *aq;
unsigned long flags;
- unsigned long buf_flag = IPU6_ISYS_BUFFER_LIST_FL_INCOMING;
+ unsigned long buf_flag = ISYS_BUFFER_LIST_INCOMING;
bl->nbufs = 0;
INIT_LIST_HEAD(&bl->head);
list_for_each_entry(aq, &stream->queues, node) {
- struct ipu6_isys_buffer *ib;
+ struct isys_buffer *ib;
spin_lock_irqsave(&aq->lock, flags);
if (list_empty(&aq->incoming)) {
@@ -217,11 +217,11 @@ static int buffer_list_get(struct ipu6_isys_stream *stream,
}
ib = list_last_entry(&aq->incoming,
- struct ipu6_isys_buffer, head);
+ struct isys_buffer, head);
dev_dbg(dev, "buffer: %s: buffer %u\n",
ipu6_isys_queue_to_video(aq)->vdev.name,
- ipu6_isys_buffer_to_vb2_buffer(ib)->index);
+ isys_buffer_to_vb2_buffer(ib)->index);
list_del(&ib->head);
list_add(&ib->head, &bl->head);
spin_unlock_irqrestore(&aq->lock, flags);
@@ -238,10 +238,10 @@ static void
ipu6_isys_buf_to_fw_frame_buf_pin(struct vb2_buffer *vb,
struct ipu6_fw_isys_frame_buff_set_abi *set)
{
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
struct vb2_v4l2_buffer *vvb = to_vb2_v4l2_buffer(vb);
- struct ipu6_isys_video_buffer *ivb =
- vb2_buffer_to_ipu6_isys_video_buffer(vvb);
+ struct isys_video_buffer *ivb =
+ vb2_buffer_to_isys_video_buffer(vvb);
set->output_pins[aq->fw_output].addr = ivb->dma_addr;
set->output_pins[aq->fw_output].out_buf_id = vb->index + 1;
@@ -254,10 +254,10 @@ ipu6_isys_buf_to_fw_frame_buf_pin(struct vb2_buffer *vb,
#define IPU6_ISYS_FRAME_NUM_THRESHOLD (30)
void
ipu6_isys_buf_to_fw_frame_buf(struct ipu6_fw_isys_frame_buff_set_abi *set,
- struct ipu6_isys_stream *stream,
- struct ipu6_isys_buffer_list *bl)
+ struct isys_stream *stream,
+ struct isys_buffer_list *bl)
{
- struct ipu6_isys_buffer *ib;
+ struct isys_buffer *ib;
WARN_ON(!bl->nbufs);
@@ -280,7 +280,7 @@ ipu6_isys_buf_to_fw_frame_buf(struct ipu6_fw_isys_frame_buff_set_abi *set,
}
list_for_each_entry(ib, &bl->head, head) {
- struct vb2_buffer *vb = ipu6_isys_buffer_to_vb2_buffer(ib);
+ struct vb2_buffer *vb = isys_buffer_to_vb2_buffer(ib);
ipu6_isys_buf_to_fw_frame_buf_pin(vb, set);
}
@@ -288,11 +288,11 @@ ipu6_isys_buf_to_fw_frame_buf(struct ipu6_fw_isys_frame_buff_set_abi *set,
/* Start streaming for real. The buffer list must be available. */
static int ipu6_isys_stream_start(struct ipu6_isys_video *av,
- struct ipu6_isys_buffer_list *bl, bool error)
+ struct isys_buffer_list *bl, bool error)
{
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
struct device *dev = &stream->isys->adev->auxdev.dev;
- struct ipu6_isys_buffer_list __bl;
+ struct isys_buffer_list __bl;
int ret;
mutex_lock(&stream->isys->stream_mutex);
@@ -322,7 +322,7 @@ static int ipu6_isys_stream_start(struct ipu6_isys_video *av,
ipu6_isys_buf_to_fw_frame_buf(buf, stream, bl);
ipu6_fw_isys_dump_frame_buff_set(dev, buf,
stream->nr_output_pins);
- ipu6_isys_buffer_list_queue(bl, IPU6_ISYS_BUFFER_LIST_FL_ACTIVE,
+ ipu6_isys_buffer_list_queue(bl, ISYS_BUFFER_LIST_ACTIVE,
0);
ret = ipu6_fw_isys_complex_cmd(stream->isys,
stream->stream_handle, buf,
@@ -335,9 +335,9 @@ static int ipu6_isys_stream_start(struct ipu6_isys_video *av,
out_requeue:
if (bl && bl->nbufs)
ipu6_isys_buffer_list_queue(bl,
- IPU6_ISYS_BUFFER_LIST_FL_INCOMING |
+ ISYS_BUFFER_LIST_INCOMING |
(error ?
- IPU6_ISYS_BUFFER_LIST_FL_SET_STATE :
+ ISYS_BUFFER_LIST_SET_STATE :
0), error ? VB2_BUF_STATE_ERROR :
VB2_BUF_STATE_QUEUED);
flush_firmware_streamon_fail(stream);
@@ -347,18 +347,18 @@ static int ipu6_isys_stream_start(struct ipu6_isys_video *av,
static void buf_queue(struct vb2_buffer *vb)
{
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
struct vb2_v4l2_buffer *vvb = to_vb2_v4l2_buffer(vb);
- struct ipu6_isys_video_buffer *ivb =
- vb2_buffer_to_ipu6_isys_video_buffer(vvb);
- struct ipu6_isys_buffer *ib = &ivb->ib;
+ struct isys_video_buffer *ivb =
+ vb2_buffer_to_isys_video_buffer(vvb);
+ struct isys_buffer *ib = &ivb->ib;
struct device *dev = &av->isys->adev->auxdev.dev;
struct media_pipeline *media_pipe =
media_entity_pipeline(&av->vdev.entity);
struct ipu6_fw_isys_frame_buff_set_abi *buf = NULL;
- struct ipu6_isys_stream *stream = av->stream;
- struct ipu6_isys_buffer_list bl;
+ struct isys_stream *stream = av->stream;
+ struct isys_buffer_list bl;
struct isys_fw_msgs *msg;
unsigned long flags;
dma_addr_t dma;
@@ -420,7 +420,7 @@ static void buf_queue(struct vb2_buffer *vb)
* firmware since we could get a buffer event back before we
* have queued them ourselves to the active queue.
*/
- ipu6_isys_buffer_list_queue(&bl, IPU6_ISYS_BUFFER_LIST_FL_ACTIVE, 0);
+ ipu6_isys_buffer_list_queue(&bl, ISYS_BUFFER_LIST_ACTIVE, 0);
ret = ipu6_fw_isys_complex_cmd(stream->isys, stream->stream_handle,
buf, msg->dma_addr, sizeof(*buf),
@@ -432,7 +432,7 @@ static void buf_queue(struct vb2_buffer *vb)
mutex_unlock(&stream->mutex);
}
-static int ipu6_isys_link_fmt_validate(struct ipu6_isys_queue *aq)
+static int ipu6_isys_link_fmt_validate(struct isys_queue *aq)
{
struct v4l2_mbus_framefmt format;
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
@@ -476,11 +476,11 @@ static int ipu6_isys_link_fmt_validate(struct ipu6_isys_queue *aq)
return 0;
}
-static void return_buffers(struct ipu6_isys_queue *aq,
+static void return_buffers(struct isys_queue *aq,
enum vb2_buffer_state state)
{
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct ipu6_isys_buffer *ib;
+ struct isys_buffer *ib;
bool need_reset = false;
unsigned long flags;
@@ -488,9 +488,9 @@ static void return_buffers(struct ipu6_isys_queue *aq,
while (!list_empty(&aq->incoming)) {
struct vb2_buffer *vb;
- ib = list_first_entry(&aq->incoming, struct ipu6_isys_buffer,
+ ib = list_first_entry(&aq->incoming, struct isys_buffer,
head);
- vb = ipu6_isys_buffer_to_vb2_buffer(ib);
+ vb = isys_buffer_to_vb2_buffer(ib);
list_del(&ib->head);
spin_unlock_irqrestore(&aq->lock, flags);
@@ -507,9 +507,8 @@ static void return_buffers(struct ipu6_isys_queue *aq,
while (!list_empty(&aq->active)) {
struct vb2_buffer *vb;
- ib = list_first_entry(&aq->active, struct ipu6_isys_buffer,
- head);
- vb = ipu6_isys_buffer_to_vb2_buffer(ib);
+ ib = list_first_entry(&aq->active, struct isys_buffer, head);
+ vb = isys_buffer_to_vb2_buffer(ib);
list_del(&ib->head);
spin_unlock_irqrestore(&aq->lock, flags);
@@ -538,13 +537,13 @@ static void ipu6_isys_stream_cleanup(struct ipu6_isys_video *av)
static int start_streaming(struct vb2_queue *q, unsigned int count)
{
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(q);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(q);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
struct device *dev = &av->isys->adev->auxdev.dev;
- const struct ipu6_isys_pixelformat *pfmt =
+ const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
- struct ipu6_isys_buffer_list __bl, *bl = NULL;
- struct ipu6_isys_stream *stream;
+ struct isys_buffer_list __bl, *bl = NULL;
+ struct isys_stream *stream;
struct media_entity *source_entity = NULL;
int nr_queues, ret;
@@ -626,9 +625,9 @@ static int start_streaming(struct vb2_queue *q, unsigned int count)
static void stop_streaming(struct vb2_queue *q)
{
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(q);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(q);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
mutex_lock(&stream->mutex);
@@ -652,7 +651,7 @@ static void stop_streaming(struct vb2_queue *q)
}
static unsigned int
-get_sof_sequence_by_timestamp(struct ipu6_isys_stream *stream, u64 time)
+get_sof_sequence_by_timestamp(struct isys_stream *stream, u64 time)
{
struct ipu6_isys *isys = stream->isys;
struct device *dev = &isys->adev->auxdev.dev;
@@ -665,14 +664,14 @@ get_sof_sequence_by_timestamp(struct ipu6_isys_stream *stream, u64 time)
if (time == 0)
return atomic_read(&stream->sequence) - 1;
- for (i = 0; i < IPU6_ISYS_MAX_PARALLEL_SOF; i++)
+ for (i = 0; i < ISYS_MAX_PARALLEL_SOF; i++)
if (time == stream->seq[i].timestamp) {
dev_dbg(dev, "sof: using seq nr %u for ts %llu\n",
stream->seq[i].sequence, time);
return stream->seq[i].sequence;
}
- for (i = 0; i < IPU6_ISYS_MAX_PARALLEL_SOF; i++)
+ for (i = 0; i < ISYS_MAX_PARALLEL_SOF; i++)
dev_dbg(dev, "sof: sequence %u, timestamp value %llu\n",
stream->seq[i].sequence, stream->seq[i].timestamp);
@@ -695,14 +694,14 @@ static u64 get_sof_ns_delta(struct ipu6_isys_video *av, u64 timestamp)
}
static void
-ipu6_isys_buf_calc_sequence_time(struct ipu6_isys_buffer *ib, u64 time)
+ipu6_isys_buf_calc_sequence_time(struct isys_buffer *ib, u64 time)
{
- struct vb2_buffer *vb = ipu6_isys_buffer_to_vb2_buffer(ib);
+ struct vb2_buffer *vb = isys_buffer_to_vb2_buffer(ib);
struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
- struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
+ struct isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
struct device *dev = &av->isys->adev->auxdev.dev;
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
u64 ns;
u32 sequence;
@@ -718,9 +717,9 @@ ipu6_isys_buf_calc_sequence_time(struct ipu6_isys_buffer *ib, u64 time)
vbuf->vb2_buf.timestamp);
}
-static void ipu6_isys_queue_buf_done(struct ipu6_isys_buffer *ib)
+static void ipu6_isys_queue_buf_done(struct isys_buffer *ib)
{
- struct vb2_buffer *vb = ipu6_isys_buffer_to_vb2_buffer(ib);
+ struct vb2_buffer *vb = isys_buffer_to_vb2_buffer(ib);
if (atomic_read(&ib->str2mmio_flag)) {
vb2_buffer_done(vb, VB2_BUF_STATE_ERROR);
@@ -735,13 +734,13 @@ static void ipu6_isys_queue_buf_done(struct ipu6_isys_buffer *ib)
}
static void
-ipu6_stream_buf_ready(struct ipu6_isys_stream *stream, u8 pin_id, u32 pin_addr,
+ipu6_stream_buf_ready(struct isys_stream *stream, u8 pin_id, u32 pin_addr,
u64 time, bool error_check)
{
- struct ipu6_isys_queue *aq = stream->output_pins[pin_id].aq;
+ struct isys_queue *aq = stream->output_pins[pin_id].aq;
struct ipu6_isys *isys = stream->isys;
struct device *dev = &isys->adev->auxdev.dev;
- struct ipu6_isys_buffer *ib;
+ struct isys_buffer *ib;
struct vb2_buffer *vb;
unsigned long flags;
bool first = true;
@@ -755,13 +754,13 @@ ipu6_stream_buf_ready(struct ipu6_isys_stream *stream, u8 pin_id, u32 pin_addr,
}
list_for_each_entry_reverse(ib, &aq->active, head) {
- struct ipu6_isys_video_buffer *ivb;
+ struct isys_video_buffer *ivb;
struct vb2_v4l2_buffer *vvb;
dma_addr_t addr;
- vb = ipu6_isys_buffer_to_vb2_buffer(ib);
+ vb = isys_buffer_to_vb2_buffer(ib);
vvb = to_vb2_v4l2_buffer(vb);
- ivb = vb2_buffer_to_ipu6_isys_video_buffer(vvb);
+ ivb = vb2_buffer_to_isys_video_buffer(vvb);
addr = ivb->dma_addr;
if (pin_addr != addr) {
@@ -799,7 +798,7 @@ ipu6_stream_buf_ready(struct ipu6_isys_stream *stream, u8 pin_id, u32 pin_addr,
spin_unlock_irqrestore(&aq->lock, flags);
}
-void ipu6_isys_queue_buf_ready(struct ipu6_isys_stream *stream, void *_info)
+void ipu6_isys_queue_buf_ready(struct isys_stream *stream, void *_info)
{
struct ipu6_fw_isys_resp_info_abi *info = _info;
u64 time = (u64)info->timestamp[1] << 32 | info->timestamp[0];
@@ -818,7 +817,7 @@ static const struct vb2_ops ipu6_isys_queue_ops = {
.buf_queue = buf_queue,
};
-int ipu6_isys_queue_init(struct ipu6_isys_queue *aq)
+int ipu6_isys_queue_init(struct isys_queue *aq)
{
struct ipu6_isys *isys = ipu6_isys_queue_to_video(aq)->isys;
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h
index 6a95858bfd59..10f0dad9964d 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.h
@@ -7,13 +7,13 @@
#include "ipu6-fw-isys.h"
#include "isys.h"
-void ipu6_isys_buffer_list_queue(struct ipu6_isys_buffer_list *bl,
+void ipu6_isys_buffer_list_queue(struct isys_buffer_list *bl,
unsigned long op_flags,
enum vb2_buffer_state state);
void
ipu6_isys_buf_to_fw_frame_buf(struct ipu6_fw_isys_frame_buff_set_abi *set,
- struct ipu6_isys_stream *stream,
- struct ipu6_isys_buffer_list *bl);
-void ipu6_isys_queue_buf_ready(struct ipu6_isys_stream *stream, void *info);
-int ipu6_isys_queue_init(struct ipu6_isys_queue *aq);
+ struct isys_stream *stream,
+ struct isys_buffer_list *bl);
+void ipu6_isys_queue_buf_ready(struct isys_stream *stream, void *info);
+int ipu6_isys_queue_init(struct isys_queue *aq);
#endif /* IPU6_ISYS_QUEUE_H */
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
index 3165904d7ebf..71429e83d8aa 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
@@ -36,7 +36,7 @@
#include "ipu6-isys-video.h"
#include "ipu6-platform-regs.h"
-const struct ipu6_isys_pixelformat ipu6_isys_pfmts[] = {
+const struct isys_pixelformat ipu6_isys_pfmts[] = {
{ V4L2_PIX_FMT_SBGGR12, 16, 12, MEDIA_BUS_FMT_SBGGR12_1X12,
IPU6_FW_ISYS_FRAME_FORMAT_RAW16 },
{ V4L2_PIX_FMT_SGBRG12, 16, 12, MEDIA_BUS_FMT_SGBRG12_1X12,
@@ -112,14 +112,14 @@ static int video_open(struct file *file)
return v4l2_fh_open(file);
}
-const struct ipu6_isys_pixelformat *
+const struct isys_pixelformat *
ipu6_isys_get_isys_format(u32 pixelformat, u32 type)
{
- const struct ipu6_isys_pixelformat *default_pfmt = NULL;
+ const struct isys_pixelformat *default_pfmt = NULL;
unsigned int i;
for (i = 0; i < ARRAY_SIZE(ipu6_isys_pfmts); i++) {
- const struct ipu6_isys_pixelformat *pfmt = &ipu6_isys_pfmts[i];
+ const struct isys_pixelformat *pfmt = &ipu6_isys_pfmts[i];
if (type && ((!pfmt->is_meta &&
type != V4L2_BUF_TYPE_VIDEO_CAPTURE) ||
@@ -229,7 +229,7 @@ static void ipu6_isys_try_fmt_cap(struct ipu6_isys_video *av, u32 type,
u32 *format, u32 *width, u32 *height,
u32 *bytesperline, u32 *sizeimage)
{
- const struct ipu6_isys_pixelformat *pfmt =
+ const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(*format, type);
*format = pfmt->pixelformat;
@@ -443,10 +443,10 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av,
struct v4l2_subdev *sd = media_entity_to_v4l2_subdev(src_pad->entity);
struct ipu6_fw_isys_input_pin_info_abi *input_pin;
struct ipu6_fw_isys_output_pin_info_abi *output_pin;
- struct ipu6_isys_stream *stream = av->stream;
- struct ipu6_isys_queue *aq = &av->aq;
+ struct isys_stream *stream = av->stream;
+ struct isys_queue *aq = &av->aq;
struct v4l2_mbus_framefmt fmt;
- const struct ipu6_isys_pixelformat *pfmt =
+ const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
struct v4l2_rect v4l2_crop;
struct ipu6_isys *isys = av->isys;
@@ -516,14 +516,14 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av,
}
static int start_stream_firmware(struct ipu6_isys_video *av,
- struct ipu6_isys_buffer_list *bl)
+ struct isys_buffer_list *bl)
{
struct ipu6_fw_isys_stream_cfg_data_abi *stream_cfg;
struct ipu6_fw_isys_frame_buff_set_abi *buf = NULL;
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
struct device *dev = &av->isys->adev->auxdev.dev;
struct isys_fw_msgs *msg = NULL;
- struct ipu6_isys_queue *aq;
+ struct isys_queue *aq;
int ret, retout, tout;
u16 send_type;
@@ -591,7 +591,7 @@ static int start_stream_firmware(struct ipu6_isys_video *av,
buf = &msg->fw_msg.frame;
ipu6_isys_buf_to_fw_frame_buf(buf, stream, bl);
ipu6_isys_buffer_list_queue(bl,
- IPU6_ISYS_BUFFER_LIST_FL_ACTIVE, 0);
+ ISYS_BUFFER_LIST_ACTIVE, 0);
}
reinit_completion(&stream->stream_start_completion);
@@ -659,7 +659,7 @@ static int start_stream_firmware(struct ipu6_isys_video *av,
static void stop_streaming_firmware(struct ipu6_isys_video *av)
{
struct device *dev = &av->isys->adev->auxdev.dev;
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
int ret, tout;
reinit_completion(&stream->stream_stop_completion);
@@ -684,7 +684,7 @@ static void stop_streaming_firmware(struct ipu6_isys_video *av)
static void close_streaming_firmware(struct ipu6_isys_video *av)
{
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
struct device *dev = &av->isys->adev->auxdev.dev;
int ret, tout;
@@ -713,7 +713,7 @@ int ipu6_isys_video_prepare_stream(struct ipu6_isys_video *av,
struct media_entity *source_entity,
int nr_queues)
{
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
struct ipu6_isys_csi2 *csi2;
if (WARN_ON(stream->nr_streaming))
@@ -797,7 +797,7 @@ void ipu6_isys_configure_stream_watermark(struct ipu6_isys_video *av,
static void calculate_stream_datarate(struct ipu6_isys_video *av)
{
struct video_stream_watermark *watermark = &av->watermark;
- const struct ipu6_isys_pixelformat *pfmt =
+ const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
u32 pages_per_line, pb_bytes_per_line, pixels_per_line, bytes_per_line;
u64 line_time_ns, stream_data_rate;
@@ -841,7 +841,7 @@ void ipu6_isys_update_stream_watermark(struct ipu6_isys_video *av, bool state)
update_watermark_setting(av->isys);
}
-void ipu6_isys_put_stream(struct ipu6_isys_stream *stream)
+void ipu6_isys_put_stream(struct isys_stream *stream)
{
struct device *dev;
unsigned int i;
@@ -868,10 +868,10 @@ void ipu6_isys_put_stream(struct ipu6_isys_stream *stream)
spin_unlock_irqrestore(&stream->isys->streams_lock, flags);
}
-static struct ipu6_isys_stream *
+static struct isys_stream *
ipu6_isys_get_stream(struct ipu6_isys_video *av, struct isys_subdev *asd)
{
- struct ipu6_isys_stream *stream = NULL;
+ struct isys_stream *stream = NULL;
struct ipu6_isys *isys = av->isys;
unsigned long flags;
unsigned int i;
@@ -906,11 +906,11 @@ ipu6_isys_get_stream(struct ipu6_isys_video *av, struct isys_subdev *asd)
return stream;
}
-struct ipu6_isys_stream *
+struct isys_stream *
ipu6_isys_query_stream_by_handle(struct ipu6_isys *isys, u8 stream_handle)
{
unsigned long flags;
- struct ipu6_isys_stream *stream = NULL;
+ struct isys_stream *stream = NULL;
if (!isys)
return NULL;
@@ -931,10 +931,10 @@ ipu6_isys_query_stream_by_handle(struct ipu6_isys *isys, u8 stream_handle)
return stream;
}
-struct ipu6_isys_stream *
+struct isys_stream *
ipu6_isys_query_stream_by_source(struct ipu6_isys *isys, int source, u8 vc)
{
- struct ipu6_isys_stream *stream = NULL;
+ struct isys_stream *stream = NULL;
unsigned long flags;
unsigned int i;
@@ -982,10 +982,10 @@ static u64 get_stream_mask_by_pipeline(struct ipu6_isys_video *__av)
}
int ipu6_isys_video_set_streaming(struct ipu6_isys_video *av, int state,
- struct ipu6_isys_buffer_list *bl)
+ struct isys_buffer_list *bl)
{
struct v4l2_subdev_krouting *routing;
- struct ipu6_isys_stream *stream = av->stream;
+ struct isys_stream *stream = av->stream;
struct v4l2_subdev_state *subdev_state;
struct device *dev = &av->isys->adev->auxdev.dev;
struct v4l2_subdev *sd;
@@ -1167,7 +1167,7 @@ void ipu6_isys_fw_close(struct ipu6_isys *isys)
int ipu6_isys_setup_video(struct ipu6_isys_video *av,
struct media_entity **source_entity, int *nr_queues)
{
- const struct ipu6_isys_pixelformat *pfmt =
+ const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
struct device *dev = &av->isys->adev->auxdev.dev;
struct v4l2_mbus_frame_desc_entry entry;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.h b/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
index bca8e65dd5ec..402607242005 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
@@ -28,7 +28,7 @@ struct video_stream_watermark {
};
struct ipu6_isys_video {
- struct ipu6_isys_queue aq;
+ struct isys_queue aq;
/* Serialise access to other fields in the struct. */
struct mutex mutex;
struct media_pad pad;
@@ -37,7 +37,7 @@ struct ipu6_isys_video {
struct v4l2_meta_format meta_fmt;
struct ipu6_isys *isys;
struct ipu6_isys_csi2 *csi2;
- struct ipu6_isys_stream *stream;
+ struct isys_stream *stream;
unsigned int streaming;
struct video_stream_watermark watermark;
u32 source_stream;
@@ -48,26 +48,26 @@ struct ipu6_isys_video {
#define ipu6_isys_queue_to_video(__aq) \
container_of(__aq, struct ipu6_isys_video, aq)
-extern const struct ipu6_isys_pixelformat ipu6_isys_pfmts[];
-extern const struct ipu6_isys_pixelformat ipu6_isys_pfmts_packed[];
+extern const struct isys_pixelformat ipu6_isys_pfmts[];
+extern const struct isys_pixelformat ipu6_isys_pfmts_packed[];
-const struct ipu6_isys_pixelformat *
+const struct isys_pixelformat *
ipu6_isys_get_isys_format(u32 pixelformat, u32 code);
int ipu6_isys_video_prepare_stream(struct ipu6_isys_video *av,
struct media_entity *source_entity,
int nr_queues);
int ipu6_isys_video_set_streaming(struct ipu6_isys_video *av, int state,
- struct ipu6_isys_buffer_list *bl);
+ struct isys_buffer_list *bl);
int ipu6_isys_fw_open(struct ipu6_isys *isys);
void ipu6_isys_fw_close(struct ipu6_isys *isys);
int ipu6_isys_setup_video(struct ipu6_isys_video *av,
struct media_entity **source_entity, int *nr_queues);
int ipu6_isys_video_init(struct ipu6_isys_video *av);
void ipu6_isys_video_cleanup(struct ipu6_isys_video *av);
-void ipu6_isys_put_stream(struct ipu6_isys_stream *stream);
-struct ipu6_isys_stream *
+void ipu6_isys_put_stream(struct isys_stream *stream);
+struct isys_stream *
ipu6_isys_query_stream_by_handle(struct ipu6_isys *isys, u8 stream_handle);
-struct ipu6_isys_stream *
+struct isys_stream *
ipu6_isys_query_stream_by_source(struct ipu6_isys *isys, int source, u8 vc);
void ipu6_isys_configure_stream_watermark(struct ipu6_isys_video *av,
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.c b/drivers/media/pci/intel/ipu6/ipu6-isys.c
index 2267784b86bc..8ac0cc7574de 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.c
@@ -249,7 +249,7 @@ static int isys_register_video_devices(struct ipu6_isys *isys)
i * NR_OF_CSI2_SRC_PADS + j);
av->isys = isys;
av->aq.vbq.buf_struct_size =
- sizeof(struct ipu6_isys_video_buffer);
+ sizeof(struct isys_video_buffer);
ret = ipu6_isys_video_init(av);
if (ret)
@@ -306,7 +306,7 @@ void isys_setup_hw(struct ipu6_isys *isys)
static void ipu6_isys_csi2_isr(struct ipu6_isys_csi2 *csi2)
{
- struct ipu6_isys_stream *stream;
+ struct isys_stream *stream;
unsigned int i;
u32 status;
int source;
@@ -982,7 +982,7 @@ static int alloc_fw_msg_bufs(struct ipu6_isys *isys, int amount)
return -ENOMEM;
}
-struct isys_fw_msgs *ipu6_get_fw_msg_buf(struct ipu6_isys_stream *stream)
+struct isys_fw_msgs *ipu6_get_fw_msg_buf(struct isys_stream *stream)
{
struct ipu6_isys *isys = stream->isys;
struct device *dev = &isys->adev->auxdev.dev;
@@ -1221,7 +1221,7 @@ static int isys_isr_one(struct ipu6_bus_device *adev)
{
struct ipu6_isys *isys = ipu6_bus_get_drvdata(adev);
struct ipu6_fw_isys_resp_info_abi *resp;
- struct ipu6_isys_stream *stream;
+ struct isys_stream *stream;
struct ipu6_isys_csi2 *csi2 = NULL;
u32 index;
u64 ts;
@@ -1292,7 +1292,7 @@ static int isys_isr_one(struct ipu6_bus_device *adev)
* get pin_data_ready event
*/
ipu6_put_fw_msg_buf(ipu6_bus_get_drvdata(adev), resp->buf_id);
- if (resp->pin_id < IPU6_ISYS_OUTPUT_PINS &&
+ if (resp->pin_id < ISYS_OUTPUT_PINS &&
stream->output_pins[resp->pin_id].pin_ready)
stream->output_pins[resp->pin_id].pin_ready(stream,
resp);
@@ -1319,8 +1319,8 @@ static int isys_isr_one(struct ipu6_bus_device *adev)
"sof: handle %d: (index %u), timestamp 0x%16.16llx\n",
resp->stream_handle,
stream->seq[stream->seq_index].sequence, ts);
- stream->seq_index = (stream->seq_index + 1)
- % IPU6_ISYS_MAX_PARALLEL_SOF;
+ stream->seq_index =
+ (stream->seq_index + 1) % ISYS_MAX_PARALLEL_SOF;
break;
case IPU6_FW_ISYS_RESP_TYPE_FRAME_EOF:
ipu6_isys_csi2_eof_event_by_stream(stream);
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.h b/drivers/media/pci/intel/ipu6/ipu6-isys.h
index f488e782c26e..bf6008bfe539 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.h
@@ -134,7 +134,7 @@ struct ipu6_isys {
u32 isr_csi2_bits;
u32 csi2_rx_ctrl_cached;
spinlock_t streams_lock;
- struct ipu6_isys_stream streams[IPU6_ISYS_MAX_STREAMS];
+ struct isys_stream streams[IPU6_ISYS_MAX_STREAMS];
int streams_ref_count[IPU6_ISYS_MAX_STREAMS];
void *fwcom;
u32 phy_termcal_val;
@@ -175,7 +175,7 @@ struct isys_fw_msgs {
dma_addr_t dma_addr;
};
-struct isys_fw_msgs *ipu6_get_fw_msg_buf(struct ipu6_isys_stream *stream);
+struct isys_fw_msgs *ipu6_get_fw_msg_buf(struct isys_stream *stream);
void ipu6_put_fw_msg_buf(struct ipu6_isys *isys, uintptr_t data);
void ipu6_cleanup_fw_msg_bufs(struct ipu6_isys *isys);
diff --git a/drivers/media/pci/intel/ipu6/isys.h b/drivers/media/pci/intel/ipu6/isys.h
index f2a49694a050..d5736ea2b036 100644
--- a/drivers/media/pci/intel/ipu6/isys.h
+++ b/drivers/media/pci/intel/ipu6/isys.h
@@ -24,7 +24,7 @@ struct isys_subdev {
#define to_isys_subdev(__sd) container_of(__sd, struct isys_subdev, sd)
-struct ipu6_isys_queue {
+struct isys_queue {
struct vb2_queue vbq;
struct list_head node;
/*
@@ -36,42 +36,42 @@ struct ipu6_isys_queue {
unsigned int fw_output;
};
-struct ipu6_isys_buffer {
+struct isys_buffer {
struct list_head head;
atomic_t str2mmio_flag;
};
-struct ipu6_isys_video_buffer {
+struct isys_video_buffer {
struct vb2_v4l2_buffer vb_v4l2;
- struct ipu6_isys_buffer ib;
+ struct isys_buffer ib;
dma_addr_t dma_addr;
};
-struct ipu6_isys_buffer_list {
+struct isys_buffer_list {
struct list_head head;
unsigned int nbufs;
};
#define vb2_queue_to_isys_queue(__vb2) \
- container_of(__vb2, struct ipu6_isys_queue, vbq)
+ container_of(__vb2, struct isys_queue, vbq)
-#define vb2_buffer_to_ipu6_isys_video_buffer(__vvb) \
- container_of(__vvb, struct ipu6_isys_video_buffer, vb_v4l2)
+#define vb2_buffer_to_isys_video_buffer(__vvb) \
+ container_of(__vvb, struct isys_video_buffer, vb_v4l2)
-#define ipu6_isys_to_isys_video_buffer(__ib) \
- container_of(__ib, struct ipu6_isys_video_buffer, ib)
+#define isys_buffer_to_isys_video_buffer(__ib) \
+ container_of(__ib, struct isys_video_buffer, ib)
-#define ipu6_isys_buffer_to_vb2_buffer(__ib) \
- (&ipu6_isys_to_isys_video_buffer(__ib)->vb_v4l2.vb2_buf)
+#define isys_buffer_to_vb2_buffer(__ib) \
+ (&isys_buffer_to_isys_video_buffer(__ib)->vb_v4l2.vb2_buf)
-#define IPU6_ISYS_BUFFER_LIST_FL_INCOMING BIT(0)
-#define IPU6_ISYS_BUFFER_LIST_FL_ACTIVE BIT(1)
-#define IPU6_ISYS_BUFFER_LIST_FL_SET_STATE BIT(2)
+#define ISYS_BUFFER_LIST_INCOMING BIT(0)
+#define ISYS_BUFFER_LIST_ACTIVE BIT(1)
+#define ISYS_BUFFER_LIST_SET_STATE BIT(2)
-#define IPU6_ISYS_OUTPUT_PINS 11
-#define IPU6_ISYS_MAX_PARALLEL_SOF 2
+#define ISYS_OUTPUT_PINS 11
+#define ISYS_MAX_PARALLEL_SOF 2
-struct ipu6_isys_pixelformat {
+struct isys_pixelformat {
u32 pixelformat;
u32 bpp;
u32 bpp_packed;
@@ -85,23 +85,23 @@ struct isys_sequence_info {
u64 timestamp;
};
-struct ipu6_isys_stream;
+struct isys_stream;
struct isys_output_pin_data {
- void (*pin_ready)(struct ipu6_isys_stream *stream, void *_info);
- struct ipu6_isys_queue *aq;
+ void (*pin_ready)(struct isys_stream *stream, void *_info);
+ struct isys_queue *aq;
};
/*
* Align with firmware stream. Each stream represents a CSI virtual channel.
* May map to multiple video devices
*/
-struct ipu6_isys_stream {
+struct isys_stream {
struct mutex mutex;
struct media_entity *source_entity;
atomic_t sequence;
unsigned int seq_index;
- struct isys_sequence_info seq[IPU6_ISYS_MAX_PARALLEL_SOF];
+ struct isys_sequence_info seq[ISYS_MAX_PARALLEL_SOF];
int stream_source;
int stream_handle;
unsigned int nr_output_pins;
@@ -117,7 +117,7 @@ struct ipu6_isys_stream {
struct completion stream_stop_completion;
struct ipu6_isys *isys;
- struct isys_output_pin_data output_pins[IPU6_ISYS_OUTPUT_PINS];
+ struct isys_output_pin_data output_pins[ISYS_OUTPUT_PINS];
int error;
u8 vc;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 5/7] media: intel/ipu6: Remove deprecated lock comment
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
` (3 preceding siblings ...)
2025-04-07 13:40 ` [PATCH 4/7] media: intel/ipu6: Rename common structures Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 6/7] media: intel/ipu6: Introduce isys and dev accessors macros Stanislaw Gruszka
` (2 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
pre_streamon_queued is no longer used, remove comment about it.
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
drivers/media/pci/intel/ipu6/isys.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/media/pci/intel/ipu6/isys.h b/drivers/media/pci/intel/ipu6/isys.h
index d5736ea2b036..ef61dca085a6 100644
--- a/drivers/media/pci/intel/ipu6/isys.h
+++ b/drivers/media/pci/intel/ipu6/isys.h
@@ -27,9 +27,6 @@ struct isys_subdev {
struct isys_queue {
struct vb2_queue vbq;
struct list_head node;
- /*
- * @lock: serialise access to queued and pre_streamon_queued
- */
spinlock_t lock;
struct list_head active;
struct list_head incoming;
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 6/7] media: intel/ipu6: Introduce isys and dev accessors macros
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
` (4 preceding siblings ...)
2025-04-07 13:40 ` [PATCH 5/7] media: intel/ipu6: Remove deprecated lock comment Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 7/7] media: intel/ipu6: Start using accessors to get dev pointer Stanislaw Gruszka
2025-04-10 15:34 ` [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Sakari Ailus
7 siblings, 0 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
Add macro and inline function to get access ipu6_isys and device back
pointer. Using the helpers will allow to transformation to common
structures.
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
Note: this gives checkpatch error about space around ":" , but
the same error is already in include/media/v4l2-common.h and
include/media/v4l2-subdev.h , so ignore it.
drivers/media/pci/intel/ipu6/ipu6-isys.h | 27 ++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.h b/drivers/media/pci/intel/ipu6/ipu6-isys.h
index bf6008bfe539..c753656b04f4 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.h
@@ -16,6 +16,7 @@
#include <media/v4l2-device.h>
#include "ipu6.h"
+#include "ipu6-bus.h"
#include "ipu6-fw-isys.h"
#include "ipu6-isys-csi2.h"
#include "ipu6-isys-video.h"
@@ -165,6 +166,32 @@ struct ipu6_isys {
struct isys_iwake_watermark iwake_watermark;
};
+static inline struct ipu6_isys *stream_to_isys6(struct isys_stream *stream)
+{
+ return stream->isys;
+}
+
+static inline struct ipu6_isys *video_to_isys6(struct ipu6_isys_video *video)
+{
+ return video->isys;
+}
+
+static inline struct ipu6_isys *csi2_to_isys6(struct ipu6_isys_csi2 *csi2)
+{
+ return csi2->isys;
+}
+
+#define to_isys(p) \
+ _Generic(p, \
+ struct isys_stream *: stream_to_isys6, \
+ struct ipu6_isys_csi2 *: csi2_to_isys6, \
+ struct ipu6_isys_video *: video_to_isys6)(p)
+
+static inline struct device *isys_to_dev(struct ipu6_isys *isys)
+{
+ return &isys->adev->auxdev.dev;
+}
+
struct isys_fw_msgs {
union {
u64 dummy;
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 7/7] media: intel/ipu6: Start using accessors to get dev pointer
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
` (5 preceding siblings ...)
2025-04-07 13:40 ` [PATCH 6/7] media: intel/ipu6: Introduce isys and dev accessors macros Stanislaw Gruszka
@ 2025-04-07 13:40 ` Stanislaw Gruszka
2025-04-10 15:34 ` [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Sakari Ailus
7 siblings, 0 replies; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-07 13:40 UTC (permalink / raw)
To: linux-media; +Cc: Sakari Ailus, Bingbu Cao
Use below cocci script to convert the code to use to_isys() and
isys_to_dev() accessors.
@@
expression X;
@@
(
- &X->isys->adev->auxdev.dev
+ isys_to_dev(to_isys(X))
|
- &isys->adev->auxdev.dev
+ isys_to_dev(isys)
)
Having accessors in place will make separation between common code and
fw/hw specific easier.
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
---
drivers/media/pci/intel/ipu6/ipu6-fw-isys.c | 14 ++++-----
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 16 +++++-----
.../media/pci/intel/ipu6/ipu6-isys-dwc-phy.c | 16 +++++-----
.../media/pci/intel/ipu6/ipu6-isys-jsl-phy.c | 8 ++---
.../media/pci/intel/ipu6/ipu6-isys-mcd-phy.c | 10 +++----
.../media/pci/intel/ipu6/ipu6-isys-queue.c | 24 +++++++--------
.../media/pci/intel/ipu6/ipu6-isys-video.c | 30 +++++++++----------
drivers/media/pci/intel/ipu6/ipu6-isys.c | 20 ++++++-------
8 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
index 62ed92ff1d30..38548578b7a6 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
@@ -28,7 +28,7 @@ static const char send_msg_types[N_IPU6_FW_ISYS_SEND_TYPE][32] = {
static int handle_proxy_response(struct ipu6_isys *isys, unsigned int req_id)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct ipu6_fw_isys_proxy_resp_info_abi *resp;
int ret;
@@ -53,7 +53,7 @@ int ipu6_fw_isys_send_proxy_token(struct ipu6_isys *isys,
unsigned int offset, u32 value)
{
struct ipu6_fw_com_context *ctx = isys->fwcom;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct ipu6_fw_proxy_send_queue_token *token;
unsigned int timeout = 1000;
int ret;
@@ -97,7 +97,7 @@ int ipu6_fw_isys_complex_cmd(struct ipu6_isys *isys,
size_t size, u16 send_type)
{
struct ipu6_fw_com_context *ctx = isys->fwcom;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct ipu6_fw_send_queue_token *token;
if (send_type >= N_IPU6_FW_ISYS_SEND_TYPE)
@@ -135,7 +135,7 @@ int ipu6_fw_isys_simple_cmd(struct ipu6_isys *isys,
int ipu6_fw_isys_close(struct ipu6_isys *isys)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
int retry = IPU6_ISYS_CLOSE_RETRY;
unsigned long flags;
void *fwcom;
@@ -178,7 +178,7 @@ void ipu6_fw_isys_cleanup(struct ipu6_isys *isys)
ret = ipu6_fw_com_release(isys->fwcom, 1);
if (ret < 0)
- dev_warn(&isys->adev->auxdev.dev,
+ dev_warn(isys_to_dev(isys),
"Device busy, fw_com release failed.");
isys->fwcom = NULL;
}
@@ -218,7 +218,7 @@ static int ipu6_isys_fwcom_cfg_init(struct ipu6_isys *isys,
unsigned int max_send_queues, max_sram_blocks, max_devq_size;
struct ipu6_fw_syscom_queue_config *input_queue_cfg;
struct ipu6_fw_syscom_queue_config *output_queue_cfg;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
int type_proxy = IPU6_FW_ISYS_QUEUE_TYPE_PROXY;
int type_dev = IPU6_FW_ISYS_QUEUE_TYPE_DEV;
int type_msg = IPU6_FW_ISYS_QUEUE_TYPE_MSG;
@@ -323,7 +323,7 @@ static int ipu6_isys_fwcom_cfg_init(struct ipu6_isys *isys,
int ipu6_fw_isys_init(struct ipu6_isys *isys, unsigned int num_streams)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
int retry = IPU6_ISYS_OPEN_RETRY;
struct ipu6_fw_com_cfg fwcom = {
.cell_start = start_sp,
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
index ddd19cde69be..575b90625c89 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
@@ -86,7 +86,7 @@ s64 ipu6_isys_csi2_get_link_freq(struct ipu6_isys_csi2 *csi2)
src_pad = media_entity_remote_source_pad_unique(&csi2->asd.sd.entity);
if (IS_ERR(src_pad)) {
- dev_err(&csi2->isys->adev->auxdev.dev,
+ dev_err(isys_to_dev(to_isys(csi2)),
"can't get source pad of %s (%ld)\n",
csi2->asd.sd.name, PTR_ERR(src_pad));
return PTR_ERR(src_pad);
@@ -160,7 +160,7 @@ static int
ipu6_isys_csi2_calc_timing(struct ipu6_isys_csi2 *csi2,
struct ipu6_isys_csi2_timing *timing, s32 accinv)
{
- struct device *dev = &csi2->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(csi2));
s64 link_freq;
link_freq = ipu6_isys_csi2_get_link_freq(csi2);
@@ -202,7 +202,7 @@ void ipu6_isys_register_errors(struct ipu6_isys_csi2 *csi2)
void ipu6_isys_csi2_error(struct ipu6_isys_csi2 *csi2)
{
- struct device *dev = &csi2->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(csi2));
const struct ipu6_csi2_error *errors;
u32 status;
u32 i;
@@ -227,7 +227,7 @@ static int ipu6_isys_csi2_set_stream(struct v4l2_subdev *sd,
struct isys_subdev *asd = to_isys_subdev(sd);
struct ipu6_isys_csi2 *csi2 = to_ipu6_isys_csi2(asd);
struct ipu6_isys *isys = csi2->isys;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct ipu6_isys_csi2_config cfg;
unsigned int nports;
int ret = 0;
@@ -518,7 +518,7 @@ int ipu6_isys_csi2_init(struct ipu6_isys_csi2 *csi2,
struct ipu6_isys *isys,
void __iomem *base, unsigned int index)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
int ret;
csi2->isys = isys;
@@ -559,7 +559,7 @@ int ipu6_isys_csi2_init(struct ipu6_isys_csi2 *csi2,
void ipu6_isys_csi2_sof_event_by_stream(struct isys_stream *stream)
{
struct video_device *vdev = stream->asd->sd.devnode;
- struct device *dev = &stream->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(stream));
struct ipu6_isys_csi2 *csi2 = to_ipu6_isys_csi2(stream->asd);
struct v4l2_event ev = {
.type = V4L2_EVENT_FRAME_SYNC,
@@ -574,7 +574,7 @@ void ipu6_isys_csi2_sof_event_by_stream(struct isys_stream *stream)
void ipu6_isys_csi2_eof_event_by_stream(struct isys_stream *stream)
{
- struct device *dev = &stream->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(stream));
struct ipu6_isys_csi2 *csi2 = to_ipu6_isys_csi2(stream->asd);
u32 frame_sequence = atomic_read(&stream->sequence);
@@ -588,7 +588,7 @@ int ipu6_isys_csi2_get_remote_desc(u32 source_stream,
struct v4l2_mbus_frame_desc_entry *entry)
{
struct v4l2_mbus_frame_desc_entry *desc_entry = NULL;
- struct device *dev = &csi2->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(csi2));
struct v4l2_mbus_frame_desc desc;
struct v4l2_subdev *source;
struct media_pad *pad;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
index db2874843453..78c6db71d51d 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
@@ -63,7 +63,7 @@ enum phy_fsm_state {
static void dwc_dphy_write(struct ipu6_isys *isys, u32 phy_id, u32 addr,
u32 data)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
void __iomem *base = isys_base + IPU6_DWC_DPHY_BASE(phy_id);
@@ -74,7 +74,7 @@ static void dwc_dphy_write(struct ipu6_isys *isys, u32 phy_id, u32 addr,
static u32 dwc_dphy_read(struct ipu6_isys *isys, u32 phy_id, u32 addr)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
void __iomem *base = isys_base + IPU6_DWC_DPHY_BASE(phy_id);
u32 data;
@@ -112,7 +112,7 @@ static u32 __maybe_unused dwc_dphy_read_mask(struct ipu6_isys *isys, u32 phy_id,
static int dwc_dphy_ifc_read(struct ipu6_isys *isys, u32 phy_id, u32 addr,
u32 *val)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
void __iomem *base = isys_base + IPU6_DWC_DPHY_BASE(phy_id);
void __iomem *reg;
@@ -139,7 +139,7 @@ static int dwc_dphy_ifc_read(struct ipu6_isys *isys, u32 phy_id, u32 addr,
static int dwc_dphy_ifc_write(struct ipu6_isys *isys, u32 phy_id, u32 addr,
u32 data)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
void __iomem *base = isys_base + IPU6_DWC_DPHY_BASE(phy_id);
void __iomem *reg;
@@ -189,7 +189,7 @@ static u32 dwc_dphy_ifc_read_mask(struct ipu6_isys *isys, u32 phy_id, u32 addr,
static int dwc_dphy_pwr_up(struct ipu6_isys *isys, u32 phy_id)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
u32 fsm_state;
int ret;
@@ -401,7 +401,7 @@ static void ipu6_isys_dwc_phy_aggr_setup(struct ipu6_isys *isys, u32 master,
#define PHY_E 4
static int ipu6_isys_dwc_phy_powerup_ack(struct ipu6_isys *isys, u32 phy_id)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
u32 rescal_done;
int ret;
@@ -434,7 +434,7 @@ static int ipu6_isys_dwc_phy_powerup_ack(struct ipu6_isys *isys, u32 phy_id)
static void ipu6_isys_dwc_phy_reset(struct ipu6_isys *isys, u32 phy_id)
{
- dev_dbg(&isys->adev->auxdev.dev, "Reset phy %u", phy_id);
+ dev_dbg(isys_to_dev(isys), "Reset phy %u", phy_id);
dwc_dphy_write(isys, phy_id, IPU6_DWC_DPHY_SHUTDOWNZ, 0);
dwc_dphy_write(isys, phy_id, IPU6_DWC_DPHY_RSTZ, 0);
@@ -449,7 +449,7 @@ int ipu6_isys_dwc_phy_set_power(struct ipu6_isys *isys,
const struct ipu6_isys_csi2_timing *timing,
bool on)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
u32 phy_id, primary, secondary;
u32 nlanes, port, mbps;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-jsl-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-jsl-phy.c
index c804291cfae9..73ac24c6853d 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-jsl-phy.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-jsl-phy.c
@@ -63,7 +63,7 @@ static void ipu6_isys_csi2_phy_config_by_port(struct ipu6_isys *isys,
unsigned int port,
unsigned int nlanes)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *base = isys->adev->isp->base;
unsigned int bbnum;
u32 val, reg, i;
@@ -139,7 +139,7 @@ static void ipu6_isys_csi2_rx_control(struct ipu6_isys *isys)
static int ipu6_isys_csi2_set_port_cfg(struct ipu6_isys *isys,
unsigned int port, unsigned int nlanes)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
unsigned int sip = port / 2;
unsigned int index;
@@ -171,7 +171,7 @@ ipu6_isys_csi2_set_timing(struct ipu6_isys *isys,
const struct ipu6_isys_csi2_timing *timing,
unsigned int port, unsigned int nlanes)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *reg;
u32 port_base;
u32 i;
@@ -207,7 +207,7 @@ int ipu6_isys_jsl_phy_set_power(struct ipu6_isys *isys,
const struct ipu6_isys_csi2_timing *timing,
bool on)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
int ret = 0;
u32 nlanes;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-mcd-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-mcd-phy.c
index 71aa5009512a..95e40f43aeb4 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-mcd-phy.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-mcd-phy.c
@@ -502,7 +502,7 @@ static const struct phy_reg **config_regs[3] = {
static int ipu6_isys_mcd_phy_powerup_ack(struct ipu6_isys *isys, u8 id)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
u32 val;
int ret;
@@ -522,7 +522,7 @@ static int ipu6_isys_mcd_phy_powerup_ack(struct ipu6_isys *isys, u8 id)
static int ipu6_isys_mcd_phy_powerdown_ack(struct ipu6_isys *isys, u8 id)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
u32 val;
int ret;
@@ -553,7 +553,7 @@ static void ipu6_isys_mcd_phy_reset(struct ipu6_isys *isys, u8 id, bool assert)
static int ipu6_isys_mcd_phy_ready(struct ipu6_isys *isys, u8 id)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
u32 val;
int ret;
@@ -621,7 +621,7 @@ static int ipu6_isys_driver_port_to_phy_port(struct ipu6_isys_csi2_config *cfg)
static int ipu6_isys_mcd_phy_config(struct ipu6_isys *isys)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct ipu6_bus_device *adev = isys->adev;
const struct phy_reg **phy_config_regs;
struct ipu6_device *isp = adev->isp;
@@ -667,7 +667,7 @@ int ipu6_isys_mcd_phy_set_power(struct ipu6_isys *isys,
const struct ipu6_isys_csi2_timing *timing,
bool on)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
void __iomem *isys_base = isys->pdata->base;
u8 port, phy_id;
refcount_t *ref;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
index d9457176f32f..1e1ae13d5e07 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
@@ -59,7 +59,7 @@ static int ipu6_isys_queue_setup(struct vb2_queue *q, unsigned int *num_buffers,
{
struct isys_queue *aq = vb2_queue_to_isys_queue(q);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
u32 size = ipu6_isys_get_data_size(av);
/* num_planes == 0: we're being called through VIDIOC_REQBUFS */
@@ -80,7 +80,7 @@ static int ipu6_isys_buf_prepare(struct vb2_buffer *vb)
{
struct isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
u32 bytesperline = ipu6_isys_get_bytes_per_line(av);
u32 height = ipu6_isys_get_frame_height(av);
u32 size = ipu6_isys_get_data_size(av);
@@ -123,7 +123,7 @@ void ipu6_isys_buffer_list_queue(struct isys_buffer_list *bl,
struct device *dev;
av = ipu6_isys_queue_to_video(aq);
- dev = &av->isys->adev->auxdev.dev;
+ dev = isys_to_dev(to_isys(av));
spin_lock_irqsave(&aq->lock, flags);
list_del(&ib->head);
if (op_flags & ISYS_BUFFER_LIST_ACTIVE)
@@ -155,7 +155,7 @@ void ipu6_isys_buffer_list_queue(struct isys_buffer_list *bl,
*/
static void flush_firmware_streamon_fail(struct isys_stream *stream)
{
- struct device *dev = &stream->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(stream));
struct isys_queue *aq;
unsigned long flags;
@@ -197,7 +197,7 @@ static void flush_firmware_streamon_fail(struct isys_stream *stream)
static int buffer_list_get(struct isys_stream *stream,
struct isys_buffer_list *bl)
{
- struct device *dev = &stream->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(stream));
struct isys_queue *aq;
unsigned long flags;
unsigned long buf_flag = ISYS_BUFFER_LIST_INCOMING;
@@ -291,7 +291,7 @@ static int ipu6_isys_stream_start(struct ipu6_isys_video *av,
struct isys_buffer_list *bl, bool error)
{
struct isys_stream *stream = av->stream;
- struct device *dev = &stream->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(stream));
struct isys_buffer_list __bl;
int ret;
@@ -353,7 +353,7 @@ static void buf_queue(struct vb2_buffer *vb)
struct isys_video_buffer *ivb =
vb2_buffer_to_isys_video_buffer(vvb);
struct isys_buffer *ib = &ivb->ib;
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct media_pipeline *media_pipe =
media_entity_pipeline(&av->vdev.entity);
struct ipu6_fw_isys_frame_buff_set_abi *buf = NULL;
@@ -436,7 +436,7 @@ static int ipu6_isys_link_fmt_validate(struct isys_queue *aq)
{
struct v4l2_mbus_framefmt format;
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct media_pad *remote_pad =
media_pad_remote_pad_first(av->vdev.entity.pads);
struct v4l2_subdev *sd;
@@ -539,7 +539,7 @@ static int start_streaming(struct vb2_queue *q, unsigned int count)
{
struct isys_queue *aq = vb2_queue_to_isys_queue(q);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
struct isys_buffer_list __bl, *bl = NULL;
@@ -654,7 +654,7 @@ static unsigned int
get_sof_sequence_by_timestamp(struct isys_stream *stream, u64 time)
{
struct ipu6_isys *isys = stream->isys;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
unsigned int i;
/*
@@ -700,7 +700,7 @@ ipu6_isys_buf_calc_sequence_time(struct isys_buffer *ib, u64 time)
struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
struct isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct isys_stream *stream = av->stream;
u64 ns;
u32 sequence;
@@ -739,7 +739,7 @@ ipu6_stream_buf_ready(struct isys_stream *stream, u8 pin_id, u32 pin_addr,
{
struct isys_queue *aq = stream->output_pins[pin_id].aq;
struct ipu6_isys *isys = stream->isys;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct isys_buffer *ib;
struct vb2_buffer *vb;
unsigned long flags;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
index 71429e83d8aa..1bc55aa0e2d0 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
@@ -366,7 +366,7 @@ static int link_validate(struct media_link *link)
{
struct ipu6_isys_video *av =
container_of(link->sink, struct ipu6_isys_video, pad);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct v4l2_subdev_state *s_state;
struct v4l2_subdev *s_sd;
struct v4l2_mbus_framefmt *s_fmt;
@@ -450,7 +450,7 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av,
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
struct v4l2_rect v4l2_crop;
struct ipu6_isys *isys = av->isys;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
int input_pins = cfg->nof_input_pins++;
int output_pins;
u32 src_stream;
@@ -521,7 +521,7 @@ static int start_stream_firmware(struct ipu6_isys_video *av,
struct ipu6_fw_isys_stream_cfg_data_abi *stream_cfg;
struct ipu6_fw_isys_frame_buff_set_abi *buf = NULL;
struct isys_stream *stream = av->stream;
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct isys_fw_msgs *msg = NULL;
struct isys_queue *aq;
int ret, retout, tout;
@@ -658,7 +658,7 @@ static int start_stream_firmware(struct ipu6_isys_video *av,
static void stop_streaming_firmware(struct ipu6_isys_video *av)
{
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct isys_stream *stream = av->stream;
int ret, tout;
@@ -685,7 +685,7 @@ static void stop_streaming_firmware(struct ipu6_isys_video *av)
static void close_streaming_firmware(struct ipu6_isys_video *av)
{
struct isys_stream *stream = av->stream;
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
int ret, tout;
reinit_completion(&stream->stream_close_completion);
@@ -733,7 +733,7 @@ int ipu6_isys_video_prepare_stream(struct ipu6_isys_video *av,
csi2->receiver_errors = 0;
stream->source_entity = source_entity;
- dev_dbg(&av->isys->adev->auxdev.dev,
+ dev_dbg(isys_to_dev(to_isys(av)),
"prepare stream: external entity %s\n",
stream->source_entity->name);
@@ -746,7 +746,7 @@ void ipu6_isys_configure_stream_watermark(struct ipu6_isys_video *av,
struct ipu6_isys *isys = av->isys;
struct ipu6_isys_csi2 *csi2 = NULL;
struct isys_iwake_watermark *iwake_watermark = &isys->iwake_watermark;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct v4l2_mbus_framefmt format;
struct v4l2_subdev *esd;
struct v4l2_control hb = { .id = V4L2_CID_HBLANK, .value = 0 };
@@ -852,7 +852,7 @@ void ipu6_isys_put_stream(struct isys_stream *stream)
return;
}
- dev = &stream->isys->adev->auxdev.dev;
+ dev = isys_to_dev(to_isys(stream));
spin_lock_irqsave(&stream->isys->streams_lock, flags);
for (i = 0; i < IPU6_ISYS_MAX_STREAMS; i++) {
@@ -916,7 +916,7 @@ ipu6_isys_query_stream_by_handle(struct ipu6_isys *isys, u8 stream_handle)
return NULL;
if (stream_handle >= IPU6_ISYS_MAX_STREAMS) {
- dev_err(&isys->adev->auxdev.dev,
+ dev_err(isys_to_dev(isys),
"stream_handle %d is invalid\n", stream_handle);
return NULL;
}
@@ -942,7 +942,7 @@ ipu6_isys_query_stream_by_source(struct ipu6_isys *isys, int source, u8 vc)
return NULL;
if (source < 0) {
- dev_err(&isys->adev->auxdev.dev,
+ dev_err(isys_to_dev(isys),
"query stream with invalid port number\n");
return NULL;
}
@@ -987,7 +987,7 @@ int ipu6_isys_video_set_streaming(struct ipu6_isys_video *av, int state,
struct v4l2_subdev_krouting *routing;
struct isys_stream *stream = av->stream;
struct v4l2_subdev_state *subdev_state;
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct v4l2_subdev *sd;
struct media_pad *r_pad;
u32 sink_pad, sink_stream;
@@ -1151,7 +1151,7 @@ void ipu6_isys_fw_close(struct ipu6_isys *isys)
ipu6_fw_isys_close(isys);
if (isys->fwcom) {
isys->need_reset = true;
- dev_warn(&isys->adev->auxdev.dev,
+ dev_warn(isys_to_dev(isys),
"failed to close fw isys\n");
}
}
@@ -1159,9 +1159,9 @@ void ipu6_isys_fw_close(struct ipu6_isys *isys)
mutex_unlock(&isys->mutex);
if (isys->need_reset)
- pm_runtime_put_sync(&isys->adev->auxdev.dev);
+ pm_runtime_put_sync(isys_to_dev(isys));
else
- pm_runtime_put(&isys->adev->auxdev.dev);
+ pm_runtime_put(isys_to_dev(isys));
}
int ipu6_isys_setup_video(struct ipu6_isys_video *av,
@@ -1169,7 +1169,7 @@ int ipu6_isys_setup_video(struct ipu6_isys_video *av,
{
const struct isys_pixelformat *pfmt =
ipu6_isys_get_isys_format(ipu6_isys_get_format(av), 0);
- struct device *dev = &av->isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(to_isys(av));
struct v4l2_mbus_frame_desc_entry entry;
struct v4l2_subdev_route *route = NULL;
struct v4l2_subdev_route *r;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.c b/drivers/media/pci/intel/ipu6/ipu6-isys.c
index 8ac0cc7574de..827ae7b9bfc8 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.c
@@ -107,7 +107,7 @@ isys_complete_ext_device_registration(struct ipu6_isys *isys,
struct v4l2_subdev *sd,
struct ipu6_isys_csi2_config *csi2)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
unsigned int i;
int ret;
@@ -198,7 +198,7 @@ static int isys_csi2_create_media_links(struct ipu6_isys *isys)
{
const struct ipu6_isys_internal_csi2_pdata *csi2_pdata =
&isys->pdata->ipdata->csi2;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
unsigned int i, j;
int ret;
@@ -418,7 +418,7 @@ static void get_lut_ltrdid(struct ipu6_isys *isys, struct ltr_did *pltr_did)
static int set_iwake_register(struct ipu6_isys *isys, u32 index, u32 value)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
u32 req_id = index;
u32 offset = 0;
int ret;
@@ -448,7 +448,7 @@ static int set_iwake_register(struct ipu6_isys *isys, u32 index, u32 value)
static void set_iwake_ltrdid(struct ipu6_isys *isys, u16 ltr, u16 did,
enum ltr_did_type use)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
u16 ltr_val, ltr_scale = LTR_SCALE_1024NS;
u16 did_val, did_scale = DID_SCALE_1US;
struct ipu6_device *isp = isys->adev->isp;
@@ -532,7 +532,7 @@ void update_watermark_setting(struct ipu6_isys *isys)
{
struct isys_iwake_watermark *iwake_watermark = &isys->iwake_watermark;
u32 iwake_threshold, iwake_critical_threshold, page_num;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
u32 calc_fill_time_us = 0, ltr = 0, did = 0;
struct video_stream_watermark *p_watermark;
enum ltr_did_type ltr_did_type;
@@ -680,18 +680,18 @@ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
int ret;
if (s_asd->csi2.port >= isys->pdata->ipdata->csi2.nports) {
- dev_err(&isys->adev->auxdev.dev, "invalid csi2 port %u\n",
+ dev_err(isys_to_dev(isys), "invalid csi2 port %u\n",
s_asd->csi2.port);
return -EINVAL;
}
ret = ipu_bridge_instantiate_vcm(sd->dev);
if (ret) {
- dev_err(&isys->adev->auxdev.dev, "instantiate vcm failed\n");
+ dev_err(isys_to_dev(isys), "instantiate vcm failed\n");
return ret;
}
- dev_dbg(&isys->adev->auxdev.dev, "bind %s nlanes is %d port is %d\n",
+ dev_dbg(isys_to_dev(isys), "bind %s nlanes is %d port is %d\n",
sd->name, s_asd->csi2.nlanes, s_asd->csi2.port);
ret = isys_complete_ext_device_registration(isys, sd, &s_asd->csi2);
if (ret)
@@ -782,7 +782,7 @@ static void isys_notifier_cleanup(struct ipu6_isys *isys)
static int isys_register_devices(struct ipu6_isys *isys)
{
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct pci_dev *pdev = isys->adev->isp->pdev;
int ret;
@@ -985,7 +985,7 @@ static int alloc_fw_msg_bufs(struct ipu6_isys *isys, int amount)
struct isys_fw_msgs *ipu6_get_fw_msg_buf(struct isys_stream *stream)
{
struct ipu6_isys *isys = stream->isys;
- struct device *dev = &isys->adev->auxdev.dev;
+ struct device *dev = isys_to_dev(isys);
struct isys_fw_msgs *msg;
unsigned long flags;
int ret;
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/7] media: intel/ipu6: Remove line_align
2025-04-07 13:40 ` [PATCH 2/7] media: intel/ipu6: Remove line_align Stanislaw Gruszka
@ 2025-04-10 12:04 ` Sakari Ailus
2025-04-10 13:12 ` Stanislaw Gruszka
0 siblings, 1 reply; 14+ messages in thread
From: Sakari Ailus @ 2025-04-10 12:04 UTC (permalink / raw)
To: Stanislaw Gruszka; +Cc: linux-media, Bingbu Cao
Hi Stanislaw,
Thanks for the set.
On Mon, Apr 07, 2025 at 03:40:32PM +0200, Stanislaw Gruszka wrote:
> isys->line_align value is only used in one place and we can just use
> the proper value directly there.
>
> Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
> ---
> drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +-
> drivers/media/pci/intel/ipu6/ipu6-isys.c | 1 -
> drivers/media/pci/intel/ipu6/ipu6-isys.h | 4 ----
> 3 files changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> index e36a21aa9040..3165904d7ebf 100644
> --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> @@ -241,7 +241,7 @@ static void ipu6_isys_try_fmt_cap(struct ipu6_isys_video *av, u32 type,
> else
> *bytesperline = DIV_ROUND_UP(*width * pfmt->bpp, BITS_PER_BYTE);
>
> - *bytesperline = ALIGN(*bytesperline, av->isys->line_align);
> + *bytesperline = ALIGN(*bytesperline, 64);
Is this value the same for ipu7?
--
Sakari Ailus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/7] media: intel/ipu6: Remove line_align
2025-04-10 12:04 ` Sakari Ailus
@ 2025-04-10 13:12 ` Stanislaw Gruszka
2025-04-10 15:34 ` Sakari Ailus
0 siblings, 1 reply; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-10 13:12 UTC (permalink / raw)
To: Sakari Ailus; +Cc: linux-media, Bingbu Cao
On Thu, Apr 10, 2025 at 12:04:14PM +0000, Sakari Ailus wrote:
> Hi Stanislaw,
>
> Thanks for the set.
>
> On Mon, Apr 07, 2025 at 03:40:32PM +0200, Stanislaw Gruszka wrote:
> > isys->line_align value is only used in one place and we can just use
> > the proper value directly there.
> >
> > Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
> > ---
> > drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +-
> > drivers/media/pci/intel/ipu6/ipu6-isys.c | 1 -
> > drivers/media/pci/intel/ipu6/ipu6-isys.h | 4 ----
> > 3 files changed, 1 insertion(+), 6 deletions(-)
> >
> > diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> > index e36a21aa9040..3165904d7ebf 100644
> > --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> > +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> > @@ -241,7 +241,7 @@ static void ipu6_isys_try_fmt_cap(struct ipu6_isys_video *av, u32 type,
> > else
> > *bytesperline = DIV_ROUND_UP(*width * pfmt->bpp, BITS_PER_BYTE);
> >
> > - *bytesperline = ALIGN(*bytesperline, av->isys->line_align);
> > + *bytesperline = ALIGN(*bytesperline, 64);
>
> Is this value the same for ipu7?
Yes.
Regards
Stanislaw
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
` (6 preceding siblings ...)
2025-04-07 13:40 ` [PATCH 7/7] media: intel/ipu6: Start using accessors to get dev pointer Stanislaw Gruszka
@ 2025-04-10 15:34 ` Sakari Ailus
2025-04-14 10:11 ` Stanislaw Gruszka
7 siblings, 1 reply; 14+ messages in thread
From: Sakari Ailus @ 2025-04-10 15:34 UTC (permalink / raw)
To: Stanislaw Gruszka; +Cc: linux-media, Bingbu Cao
Hi Stanislaw,
On Mon, Apr 07, 2025 at 03:40:30PM +0200, Stanislaw Gruszka wrote:
> Move and rename more structures to isys.h. Add accessors to make
> further transformation easier.
>
> This is on top of:
> https://git.linuxtv.org/sailus/media_tree.git/log/?h=devel
> plus:
> https://lore.kernel.org/linux-media/20250317073856.162147-1-stanislaw.gruszka@linux.intel.com/
> https://lore.kernel.org/linux-media/20250401090953.473339-1-stanislaw.gruszka@linux.intel.com/
>
> Stanislaw Gruszka (7):
> media: intel/ipu6: Use isd name in isys.h
> media: intel/ipu6: Remove line_align
> media: intel/ipu6: Move common structures definitions to isys.h
> media: intel/ipu6: Rename common structures
> media: intel/ipu6: Remove deprecated lock comment
> media: intel/ipu6: Introduce isys and dev accessors macros
> media: intel/ipu6: Start using accessors to get dev pointer
My main comment to the set is naming. Can we do so that we keep the current
scheme (ipu or ipu-isys prefix, with or without IPU generation number) and
then reconsider this question when the result (hopefully including IPU 7
ISYS support) is in upstream?
The rest seems entirely reasonable to me -- but see my other comments, too.
--
Kind regards,
Sakari Ailus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/7] media: intel/ipu6: Remove line_align
2025-04-10 13:12 ` Stanislaw Gruszka
@ 2025-04-10 15:34 ` Sakari Ailus
0 siblings, 0 replies; 14+ messages in thread
From: Sakari Ailus @ 2025-04-10 15:34 UTC (permalink / raw)
To: Stanislaw Gruszka; +Cc: linux-media, Bingbu Cao
On Thu, Apr 10, 2025 at 03:12:40PM +0200, Stanislaw Gruszka wrote:
> On Thu, Apr 10, 2025 at 12:04:14PM +0000, Sakari Ailus wrote:
> > Hi Stanislaw,
> >
> > Thanks for the set.
> >
> > On Mon, Apr 07, 2025 at 03:40:32PM +0200, Stanislaw Gruszka wrote:
> > > isys->line_align value is only used in one place and we can just use
> > > the proper value directly there.
> > >
> > > Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
> > > ---
> > > drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +-
> > > drivers/media/pci/intel/ipu6/ipu6-isys.c | 1 -
> > > drivers/media/pci/intel/ipu6/ipu6-isys.h | 4 ----
> > > 3 files changed, 1 insertion(+), 6 deletions(-)
> > >
> > > diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> > > index e36a21aa9040..3165904d7ebf 100644
> > > --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> > > +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
> > > @@ -241,7 +241,7 @@ static void ipu6_isys_try_fmt_cap(struct ipu6_isys_video *av, u32 type,
> > > else
> > > *bytesperline = DIV_ROUND_UP(*width * pfmt->bpp, BITS_PER_BYTE);
> > >
> > > - *bytesperline = ALIGN(*bytesperline, av->isys->line_align);
> > > + *bytesperline = ALIGN(*bytesperline, 64);
> >
> > Is this value the same for ipu7?
>
> Yes.
Ack, thanks for confirming this.
--
Sakari Ailus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation
2025-04-10 15:34 ` [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Sakari Ailus
@ 2025-04-14 10:11 ` Stanislaw Gruszka
2025-04-14 12:52 ` Sakari Ailus
0 siblings, 1 reply; 14+ messages in thread
From: Stanislaw Gruszka @ 2025-04-14 10:11 UTC (permalink / raw)
To: Sakari Ailus; +Cc: linux-media, Bingbu Cao
On Thu, Apr 10, 2025 at 03:34:22PM +0000, Sakari Ailus wrote:
> Hi Stanislaw,
>
> On Mon, Apr 07, 2025 at 03:40:30PM +0200, Stanislaw Gruszka wrote:
> > Move and rename more structures to isys.h. Add accessors to make
> > further transformation easier.
> >
> > This is on top of:
> > https://git.linuxtv.org/sailus/media_tree.git/log/?h=devel
> > plus:
> > https://lore.kernel.org/linux-media/20250317073856.162147-1-stanislaw.gruszka@linux.intel.com/
> > https://lore.kernel.org/linux-media/20250401090953.473339-1-stanislaw.gruszka@linux.intel.com/
> >
> > Stanislaw Gruszka (7):
> > media: intel/ipu6: Use isd name in isys.h
> > media: intel/ipu6: Remove line_align
> > media: intel/ipu6: Move common structures definitions to isys.h
> > media: intel/ipu6: Rename common structures
> > media: intel/ipu6: Remove deprecated lock comment
> > media: intel/ipu6: Introduce isys and dev accessors macros
> > media: intel/ipu6: Start using accessors to get dev pointer
>
> My main comment to the set is naming. Can we do so that we keep the current
> scheme (ipu or ipu-isys prefix, with or without IPU generation number) and
> then reconsider this question when the result (hopefully including IPU 7
> ISYS support) is in upstream?
Ok, I'll use ipu_isys_ prefix for functions, structures and some macros.
However for some macros I think it would make sense to skip ipu prefix to
make the names shorter.
Regards
Stanislaw
> The rest seems entirely reasonable to me -- but see my other comments, too.
>
> --
> Kind regards,
>
> Sakari Ailus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation
2025-04-14 10:11 ` Stanislaw Gruszka
@ 2025-04-14 12:52 ` Sakari Ailus
0 siblings, 0 replies; 14+ messages in thread
From: Sakari Ailus @ 2025-04-14 12:52 UTC (permalink / raw)
To: Stanislaw Gruszka; +Cc: linux-media, Bingbu Cao
On Mon, Apr 14, 2025 at 12:11:58PM +0200, Stanislaw Gruszka wrote:
> On Thu, Apr 10, 2025 at 03:34:22PM +0000, Sakari Ailus wrote:
> > Hi Stanislaw,
> >
> > On Mon, Apr 07, 2025 at 03:40:30PM +0200, Stanislaw Gruszka wrote:
> > > Move and rename more structures to isys.h. Add accessors to make
> > > further transformation easier.
> > >
> > > This is on top of:
> > > https://git.linuxtv.org/sailus/media_tree.git/log/?h=devel
> > > plus:
> > > https://lore.kernel.org/linux-media/20250317073856.162147-1-stanislaw.gruszka@linux.intel.com/
> > > https://lore.kernel.org/linux-media/20250401090953.473339-1-stanislaw.gruszka@linux.intel.com/
> > >
> > > Stanislaw Gruszka (7):
> > > media: intel/ipu6: Use isd name in isys.h
> > > media: intel/ipu6: Remove line_align
> > > media: intel/ipu6: Move common structures definitions to isys.h
> > > media: intel/ipu6: Rename common structures
> > > media: intel/ipu6: Remove deprecated lock comment
> > > media: intel/ipu6: Introduce isys and dev accessors macros
> > > media: intel/ipu6: Start using accessors to get dev pointer
> >
> > My main comment to the set is naming. Can we do so that we keep the current
> > scheme (ipu or ipu-isys prefix, with or without IPU generation number) and
> > then reconsider this question when the result (hopefully including IPU 7
> > ISYS support) is in upstream?
>
> Ok, I'll use ipu_isys_ prefix for functions, structures and some macros.
> However for some macros I think it would make sense to skip ipu prefix to
> make the names shorter.
I'd keep it also in macro names, but not necessarily twice as in some cases
currently.
--
Sakari Ailus
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-04-14 12:52 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-07 13:40 [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 1/7] media: intel/ipu6: Use isd name in isys.h Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 2/7] media: intel/ipu6: Remove line_align Stanislaw Gruszka
2025-04-10 12:04 ` Sakari Ailus
2025-04-10 13:12 ` Stanislaw Gruszka
2025-04-10 15:34 ` Sakari Ailus
2025-04-07 13:40 ` [PATCH 3/7] media: intel/ipu6: Move common structures definitions to isys.h Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 4/7] media: intel/ipu6: Rename common structures Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 5/7] media: intel/ipu6: Remove deprecated lock comment Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 6/7] media: intel/ipu6: Introduce isys and dev accessors macros Stanislaw Gruszka
2025-04-07 13:40 ` [PATCH 7/7] media: intel/ipu6: Start using accessors to get dev pointer Stanislaw Gruszka
2025-04-10 15:34 ` [PATCH 0/7] media: intel/ipu6: continue on ipu7 code sharing preparation Sakari Ailus
2025-04-14 10:11 ` Stanislaw Gruszka
2025-04-14 12:52 ` Sakari Ailus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox