diff options
Diffstat (limited to 'drivers/gpu/drm/imagination/pvr_device.h')
-rw-r--r-- | drivers/gpu/drm/imagination/pvr_device.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/imagination/pvr_device.h b/drivers/gpu/drm/imagination/pvr_device.h index f5b82b793566..299f3e022c82 100644 --- a/drivers/gpu/drm/imagination/pvr_device.h +++ b/drivers/gpu/drm/imagination/pvr_device.h @@ -7,6 +7,8 @@ #include "pvr_ccb.h" #include "pvr_device_info.h" #include "pvr_fw.h" +#include "pvr_rogue_fwif_stream.h" +#include "pvr_stream.h" #include <drm/drm_device.h> #include <drm/drm_file.h> @@ -146,6 +148,9 @@ struct pvr_device { /** @fw_dev: Firmware related data. */ struct pvr_fw_device fw_dev; + /** @stream_musthave_quirks: Bit array of "must-have" quirks for stream commands. */ + u32 stream_musthave_quirks[PVR_STREAM_TYPE_MAX][PVR_STREAM_EXTHDR_TYPE_MAX]; + /** * @mmu_flush_cache_flags: Records which MMU caches require flushing * before submitting the next job. @@ -153,6 +158,14 @@ struct pvr_device { atomic_t mmu_flush_cache_flags; /** + * @ctx_ids: Array of contexts belonging to this device. Array members + * are of type "struct pvr_context *". + * + * This array is used to allocate IDs used by the firmware. + */ + struct xarray ctx_ids; + + /** * @free_list_ids: Array of free lists belonging to this device. Array members * are of type "struct pvr_free_list *". * @@ -256,6 +269,14 @@ struct pvr_file { struct pvr_device *pvr_dev; /** + * @ctx_handles: Array of contexts belonging to this file. Array members + * are of type "struct pvr_context *". + * + * This array is used to allocate handles returned to userspace. + */ + struct xarray ctx_handles; + + /** * @free_list_handles: Array of free lists belonging to this file. Array * members are of type "struct pvr_free_list *". * |