drivers/gpu/host1x/hw/hw_host1x01_sync.h
Source file repositories/reference/linux-study-clean/drivers/gpu/host1x/hw/hw_host1x01_sync.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/host1x/hw/hw_host1x01_sync.h- Extension
.h- Size
- 6902 bytes
- Lines
- 232
- Domain
- Driver Families
- Bucket
- drivers/gpu
- 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.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
function Copyrightfunction host1x_sync_syncpt_thresh_cpu0_int_status_rfunction host1x_sync_syncpt_thresh_int_disable_rfunction host1x_sync_syncpt_thresh_int_enable_cpu0_rfunction host1x_sync_cf_setup_rfunction host1x_sync_cf_setup_base_vfunction host1x_sync_cf_setup_limit_vfunction host1x_sync_cmdproc_stop_rfunction host1x_sync_ch_teardown_rfunction host1x_sync_usec_clk_rfunction host1x_sync_ctxsw_timeout_cfg_rfunction host1x_sync_ip_busy_timeout_rfunction host1x_sync_mlock_owner_rfunction host1x_sync_mlock_owner_chid_vfunction host1x_sync_mlock_owner_cpu_owns_vfunction host1x_sync_mlock_owner_ch_owns_vfunction host1x_sync_syncpt_int_thresh_rfunction host1x_sync_syncpt_base_rfunction host1x_sync_syncpt_cpu_incr_rfunction host1x_sync_cbread_rfunction host1x_sync_cfpeek_ctrl_rfunction host1x_sync_cfpeek_ctrl_addr_ffunction host1x_sync_cfpeek_ctrl_channr_ffunction host1x_sync_cfpeek_ctrl_ena_ffunction host1x_sync_cfpeek_read_rfunction host1x_sync_cfpeek_ptrs_rfunction host1x_sync_cfpeek_ptrs_cf_rd_ptr_vfunction host1x_sync_cfpeek_ptrs_cf_wr_ptr_vfunction host1x_sync_cbstat_rfunction host1x_sync_cbstat_cboffset_vfunction host1x_sync_cbstat_cbclass_v
Annotated Snippet
#ifndef __hw_host1x01_sync_h__
#define __hw_host1x01_sync_h__
#define REGISTER_STRIDE 4
static inline u32 host1x_sync_syncpt_r(unsigned int id)
{
return 0x400 + id * REGISTER_STRIDE;
}
#define HOST1X_SYNC_SYNCPT(id) \
host1x_sync_syncpt_r(id)
static inline u32 host1x_sync_syncpt_thresh_cpu0_int_status_r(unsigned int id)
{
return 0x40 + id * REGISTER_STRIDE;
}
#define HOST1X_SYNC_SYNCPT_THRESH_CPU0_INT_STATUS(id) \
host1x_sync_syncpt_thresh_cpu0_int_status_r(id)
static inline u32 host1x_sync_syncpt_thresh_int_disable_r(unsigned int id)
{
return 0x60 + id * REGISTER_STRIDE;
}
#define HOST1X_SYNC_SYNCPT_THRESH_INT_DISABLE(id) \
host1x_sync_syncpt_thresh_int_disable_r(id)
static inline u32 host1x_sync_syncpt_thresh_int_enable_cpu0_r(unsigned int id)
{
return 0x68 + id * REGISTER_STRIDE;
}
#define HOST1X_SYNC_SYNCPT_THRESH_INT_ENABLE_CPU0(id) \
host1x_sync_syncpt_thresh_int_enable_cpu0_r(id)
static inline u32 host1x_sync_cf_setup_r(unsigned int channel)
{
return 0x80 + channel * REGISTER_STRIDE;
}
#define HOST1X_SYNC_CF_SETUP(channel) \
host1x_sync_cf_setup_r(channel)
static inline u32 host1x_sync_cf_setup_base_v(u32 r)
{
return (r >> 0) & 0x1ff;
}
#define HOST1X_SYNC_CF_SETUP_BASE_V(r) \
host1x_sync_cf_setup_base_v(r)
static inline u32 host1x_sync_cf_setup_limit_v(u32 r)
{
return (r >> 16) & 0x1ff;
}
#define HOST1X_SYNC_CF_SETUP_LIMIT_V(r) \
host1x_sync_cf_setup_limit_v(r)
static inline u32 host1x_sync_cmdproc_stop_r(void)
{
return 0xac;
}
#define HOST1X_SYNC_CMDPROC_STOP \
host1x_sync_cmdproc_stop_r()
static inline u32 host1x_sync_ch_teardown_r(void)
{
return 0xb0;
}
#define HOST1X_SYNC_CH_TEARDOWN \
host1x_sync_ch_teardown_r()
static inline u32 host1x_sync_usec_clk_r(void)
{
return 0x1a4;
}
#define HOST1X_SYNC_USEC_CLK \
host1x_sync_usec_clk_r()
static inline u32 host1x_sync_ctxsw_timeout_cfg_r(void)
{
return 0x1a8;
}
#define HOST1X_SYNC_CTXSW_TIMEOUT_CFG \
host1x_sync_ctxsw_timeout_cfg_r()
static inline u32 host1x_sync_ip_busy_timeout_r(void)
{
return 0x1bc;
}
#define HOST1X_SYNC_IP_BUSY_TIMEOUT \
host1x_sync_ip_busy_timeout_r()
static inline u32 host1x_sync_mlock_owner_r(unsigned int id)
{
return 0x340 + id * REGISTER_STRIDE;
}
#define HOST1X_SYNC_MLOCK_OWNER(id) \
host1x_sync_mlock_owner_r(id)
static inline u32 host1x_sync_mlock_owner_chid_v(u32 v)
{
return (v >> 8) & 0xf;
}
#define HOST1X_SYNC_MLOCK_OWNER_CHID_V(v) \
host1x_sync_mlock_owner_chid_v(v)
static inline u32 host1x_sync_mlock_owner_cpu_owns_v(u32 r)
Annotation
- Detected declarations: `function Copyright`, `function host1x_sync_syncpt_thresh_cpu0_int_status_r`, `function host1x_sync_syncpt_thresh_int_disable_r`, `function host1x_sync_syncpt_thresh_int_enable_cpu0_r`, `function host1x_sync_cf_setup_r`, `function host1x_sync_cf_setup_base_v`, `function host1x_sync_cf_setup_limit_v`, `function host1x_sync_cmdproc_stop_r`, `function host1x_sync_ch_teardown_r`, `function host1x_sync_usec_clk_r`.
- Atlas domain: Driver Families / drivers/gpu.
- 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.