video: driver: add support to send aon region via HFI_MMAP_ADDR

- add support to intialise device region by reading data from
  platform to resources.
- add support for iommu_map and iommu_unmap apis.
- allocate a 4K page and send this address through
  HFI_MMAP_ADDR register.
- map AON region, send virtual address and size as payload.

Change-Id: I5aa26593309a220c5de62836e432c1bd5a63ba1d
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Cette révision appartient à :
Darshana Patil
2023-01-12 10:34:52 -08:00
Parent 576e231f23
révision 68df0645ec
13 fichiers modifiés avec 323 ajouts et 12 suppressions

Voir le fichier

@@ -95,6 +95,10 @@ struct msm_vidc_core;
#define venus_hfi_for_each_context_bank_reverse(__device, __sinfo) \
venus_hfi_for_each_thing_reverse(__device, __sinfo, context_bank)
/* Device region set helper */
#define venus_hfi_for_each_device_region(__device, __sinfo) \
venus_hfi_for_each_thing(__device, __sinfo, device_region)
struct bus_info {
struct icc_path *icc;
const char *name;
@@ -196,6 +200,19 @@ struct freq_set {
u32 count;
};
struct device_region_info {
const char *name;
phys_addr_t phy_addr;
u32 size;
u32 dev_addr;
u32 region;
};
struct device_region_set {
struct device_region_info *device_region_tbl;
u32 count;
};
struct msm_vidc_resource {
void *core;
u8 __iomem *register_base_addr;
@@ -207,6 +224,7 @@ struct msm_vidc_resource {
struct subcache_set subcache_set;
struct context_bank_set context_bank_set;
struct freq_set freq_set;
struct device_region_set device_region_set;
int fw_cookie;
};