drm/imagination: Implement firmware infrastructure and META FW support
The infrastructure includes parsing of the firmware image, initialising FW-side structures, handling the kernel and firmware command ringbuffers and starting & stopping the firmware processor. This patch also adds the necessary support code for the META firmware processor. Changes since v8: - Fix documentation for pvr_fwccb_process() - Corrected license identifiers Changes since v6: - Add a minimum retry count to pvr_kccb_reserve_slot_sync() Changes since v5: - Add workaround for BRN 71242 - Attempt to recover GPU on MMU flush command failure Changes since v4: - Remove use of drm_gem_shmem_get_pages() - Remove interrupt resource name Changes since v3: - Hard reset FW processor on watchdog timeout - Switch to threaded IRQ - Rework FW object creation/initialisation to aid hard reset - Added MODULE_FIRMWARE() - Use drm_dev_{enter,exit} Signed-off-by:Sarah Walker <sarah.walker@imgtec.com> Signed-off-by:
Donald Robson <donald.robson@imgtec.com>
Showing
- drivers/gpu/drm/imagination/Makefile 4 additions, 0 deletionsdrivers/gpu/drm/imagination/Makefile
- drivers/gpu/drm/imagination/pvr_ccb.c 635 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_ccb.c
- drivers/gpu/drm/imagination/pvr_ccb.h 71 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_ccb.h
- drivers/gpu/drm/imagination/pvr_device.c 103 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_device.c
- drivers/gpu/drm/imagination/pvr_device.h 60 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_device.h
- drivers/gpu/drm/imagination/pvr_drv.c 1 addition, 0 deletionsdrivers/gpu/drm/imagination/pvr_drv.c
- drivers/gpu/drm/imagination/pvr_fw.c 1342 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw.c
- drivers/gpu/drm/imagination/pvr_fw.h 474 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw.h
- drivers/gpu/drm/imagination/pvr_fw_meta.c 554 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw_meta.c
- drivers/gpu/drm/imagination/pvr_fw_meta.h 14 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw_meta.h
- drivers/gpu/drm/imagination/pvr_fw_startstop.c 306 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw_startstop.c
- drivers/gpu/drm/imagination/pvr_fw_startstop.h 13 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw_startstop.h
- drivers/gpu/drm/imagination/pvr_fw_trace.c 120 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw_trace.c
- drivers/gpu/drm/imagination/pvr_fw_trace.h 78 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_fw_trace.h
- drivers/gpu/drm/imagination/pvr_mmu.c 67 additions, 3 deletionsdrivers/gpu/drm/imagination/pvr_mmu.c
- drivers/gpu/drm/imagination/pvr_power.c 150 additions, 16 deletionsdrivers/gpu/drm/imagination/pvr_power.c
- drivers/gpu/drm/imagination/pvr_power.h 2 additions, 0 deletionsdrivers/gpu/drm/imagination/pvr_power.h
- drivers/gpu/drm/imagination/pvr_vm.c 21 additions, 5 deletionsdrivers/gpu/drm/imagination/pvr_vm.c
Loading
Please register or sign in to comment