STRUCT RVIN_DEV(9)
π struct rvin_dev(9)
okay so this page lives in the Kernel API Manual, and bestie, it's literally a whole tour of struct rvin_dev β the Renesas VIN device structure. grab a strawberry drink π and let's get into it.
β¨ NAME β¨
struct rvin_dev β the Renesas VIN device structure. that's it, that's the vibe. π
π¦ SYNOPSIS π¦
struct rvin_dev {
struct device *dev;
void __iomem *base;
const struct rvin_info *info;
struct video_device vdev;
struct v4l2_device v4l2_dev;
struct v4l2_ctrl_handler ctrl_handler;
struct rvin_parallel_entity parallel;
struct rvin_group *group;
unsigned int id;
struct media_pad pad;
struct mutex lock;
struct vb2_queue queue;
void *scratch;
dma_addr_t scratch_phys;
spinlock_t qlock;
struct {
struct vb2_v4l2_buffer *buffer;
dma_addr_t phys;
} buf_hw[HW_BUFFER_NUM];
struct list_head buf_list;
unsigned int sequence;
bool running;
bool is_csi;
unsigned int chsel;
u32 mbus_code;
struct v4l2_pix_format format;
struct v4l2_rect crop;
struct v4l2_rect compose;
void (*scaler)(struct rvin_dev *vin);
unsigned int alpha;
};
like, look at her. main character energy fr fr π
π MEMBERS π
devβ the (OF) device. she's the anchor, the literal source of truth for this whole struct πbaseβ the device I/O register space, remapped to virtual memory. iykyk πΈinfoβ info about the VIN instance. the lore, basically β¨vdevβ the V4L2 video device associated with VIN πv4l2_devβ the V4L2 device π¦ctrl_handlerβ the V4L2 control handler. handle it πparallelβ parallel input subdevice descriptor πgroupβ Gen3 CSI group πidβ Gen3 group id for this VIN. know your id bestie π«Άpadβ media pad for the video device entity βlockβ protectsqueueπqueueβ vb2 buffers queue π§scratchβ cpu address for scratch buffer πscratch_physβ physical address of the scratch buffer πqlockβ protectsbuf_hw,buf_list,sequenceandrunning. so many things, but she's got it π₯buf_hwβ keeps track of buffers given to HW slot πbuf_listβ list of queued buffers πsequenceβ V4L2 buffers sequence number π’runningβ keeps track of if the VIN is running. are you running? are you okay? πββοΈis_csiβ flag to mark the VIN as using a CSI-2 subdevice πchselβ cached value of the current CSI-2 channel selection πΊmbus_codeβ media bus format code π«formatβ active V4L2 pixel format π¨cropβ active cropping βοΈcomposeβ active composing πΌοΈscalerβ optional scaler. optional but iconic πΈalphaβ alpha component to fill in for supported pixel formats. translucent era π«§
ngl there are a lot of members here, and every single one of them is doing her own little job. no cap. not one of them is dead weight π
π SEE ALSO π
- Kernel file
./drivers/media/platform/renesas/rcar-vin/rcar-vin.h struct rvin_video_format(9)struct rvin_parallel_entity(9)struct rvin_group_route(9)struct rvin_info(9)struct rvin_group(9)
like, go read those next. they're all in their flop era until you do π¦
okay that's the whole page!! this one came from ./drivers/media/platform/renes... and it's dated October 2026 β so yeah, future icon behavior πβ¨ thanks for reading, ily, now go write some kernel code π
struct rvin_dev(9) β periodt π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms