aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/inc
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2019-06-17 13:06:37 -0500
committerAlex Deucher <alexander.deucher@amd.com>2019-06-20 12:26:57 -0500
commitf94ec6f8b8857e5792328774fa47984f7d7df194 (patch)
tree3cb8768940eb5f057d4a7cea25f83fe7c803bc74 /drivers/gpu/drm/amd/display/dc/inc
parentRevert "drm/amd/display: Add Underflow Asserts to dc" (diff)
downloadlinux-dev-f94ec6f8b8857e5792328774fa47984f7d7df194.tar.xz
linux-dev-f94ec6f8b8857e5792328774fa47984f7d7df194.zip
Revert "drm/amd/display: move vmid determination logic out of dc"
This reverts commit 11cd74cdb98aa6f4d6f54a0082dd28e0d4743746. Revert this to apply the version that includes DCN2 support. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc')
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h3
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/hw/vmid.h1
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/vm_helper.h16
3 files changed, 14 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
index e4909d21b9f2..5420ad2da96f 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
@@ -80,7 +80,8 @@ struct hubp_funcs {
bool (*hubp_program_surface_flip_and_addr)(
struct hubp *hubp,
const struct dc_plane_address *address,
- bool flip_immediate);
+ bool flip_immediate,
+ uint8_t vmid);
void (*hubp_program_pte_vm)(
struct hubp *hubp,
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/vmid.h b/drivers/gpu/drm/amd/display/dc/inc/hw/vmid.h
index 76de0e4284e0..037beb0a2a27 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/vmid.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/vmid.h
@@ -44,7 +44,6 @@ struct dcn_vmid_page_table_config {
uint64_t page_table_end_addr;
enum dcn_hubbub_page_table_depth depth;
enum dcn_hubbub_page_table_block_size block_size;
- uint64_t page_table_base_addr;
};
#endif /* DAL_DC_INC_HW_VMID_H_ */
diff --git a/drivers/gpu/drm/amd/display/dc/inc/vm_helper.h b/drivers/gpu/drm/amd/display/dc/inc/vm_helper.h
index 8bfcef0a3675..193407f76a80 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/vm_helper.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/vm_helper.h
@@ -28,21 +28,29 @@
#include "dc_types.h"
+#define MAX_VMID 16
#define MAX_HUBP 6
struct vmid_usage {
- int vmid_usage[2];
+ uint16_t vmid_usage[2];
};
struct vm_helper {
unsigned int num_vmid;
+ unsigned int num_hubp;
+ unsigned int num_vmids_available;
+ uint64_t ptb_assigned_to_vmid[MAX_VMID];
struct vmid_usage hubp_vmid_usage[MAX_HUBP];
};
-void vm_helper_mark_vmid_used(struct vm_helper *vm_helper, unsigned int pos, uint8_t hubp_idx);
+uint8_t get_vmid_for_ptb(
+ struct vm_helper *vm_helper,
+ int64_t ptb,
+ uint8_t pipe_idx);
-void vm_helper_init(
+void init_vm_helper(
struct vm_helper *vm_helper,
- unsigned int num_vmid);
+ unsigned int num_vmid,
+ unsigned int num_hubp);
#endif /* DC_INC_VM_HELPER_H_ */