drivers/media/platform/amd/isp4/isp4_video.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/amd/isp4/isp4_video.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/amd/isp4/isp4_video.h- Extension
.h- Size
- 1330 bytes
- Lines
- 58
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
media/v4l2-dev.hmedia/videobuf2-memops.hisp4_interface.h
Detected Declarations
struct isp4vid_capture_bufferstruct isp4vid_dev
Annotated Snippet
struct isp4vid_capture_buffer {
/*
* struct vb2_v4l2_buffer must be the first element
* the videobuf2 framework will allocate this struct based on
* buf_struct_size and use the first sizeof(struct vb2_buffer) bytes of
* memory as a vb2_buffer
*/
struct vb2_v4l2_buffer vb2;
struct isp4if_img_buf_info img_buf;
struct list_head list;
struct dma_buf *dbuf;
void *bo;
u64 gpu_addr;
};
struct isp4vid_dev {
struct video_device vdev;
struct media_pad vdev_pad;
struct v4l2_pix_format format;
/* mutex that protects vbq */
struct mutex vbq_lock;
struct vb2_queue vbq;
/* mutex that protects buf_list */
struct mutex buf_list_lock;
struct list_head buf_list;
u32 sequence;
bool stream_started;
struct device *dev;
struct v4l2_subdev *isp_sdev;
struct v4l2_fract timeperframe;
};
int isp4vid_dev_init(struct isp4vid_dev *isp_vdev, struct v4l2_subdev *isp_sd);
void isp4vid_dev_deinit(struct isp4vid_dev *isp_vdev);
void isp4vid_handle_frame_done(struct isp4vid_dev *isp_vdev,
const struct isp4if_img_buf_info *img_buf);
#endif /* _ISP4_VIDEO_H_ */
Annotation
- Immediate include surface: `media/v4l2-dev.h`, `media/videobuf2-memops.h`, `isp4_interface.h`.
- Detected declarations: `struct isp4vid_capture_buffer`, `struct isp4vid_dev`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.