drm/radeon: initial VCE support v4
Only VCE 2.0 support so far. v2: squashing multiple patches into this one v3: add IRQ support for CIK, major cleanups, basic code documentation v4: remove HAINAN from chipset list Signed-off-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
@@ -1987,6 +1987,19 @@ static struct radeon_asic_ring ci_dma_ring = {
|
||||
.set_wptr = &cik_sdma_set_wptr,
|
||||
};
|
||||
|
||||
static struct radeon_asic_ring ci_vce_ring = {
|
||||
.ib_execute = &radeon_vce_ib_execute,
|
||||
.emit_fence = &radeon_vce_fence_emit,
|
||||
.emit_semaphore = &radeon_vce_semaphore_emit,
|
||||
.cs_parse = &radeon_vce_cs_parse,
|
||||
.ring_test = &radeon_vce_ring_test,
|
||||
.ib_test = &radeon_vce_ib_test,
|
||||
.is_lockup = &radeon_ring_test_lockup,
|
||||
.get_rptr = &vce_v1_0_get_rptr,
|
||||
.get_wptr = &vce_v1_0_get_wptr,
|
||||
.set_wptr = &vce_v1_0_set_wptr,
|
||||
};
|
||||
|
||||
static struct radeon_asic ci_asic = {
|
||||
.init = &cik_init,
|
||||
.fini = &cik_fini,
|
||||
@@ -2015,6 +2028,8 @@ static struct radeon_asic ci_asic = {
|
||||
[R600_RING_TYPE_DMA_INDEX] = &ci_dma_ring,
|
||||
[CAYMAN_RING_TYPE_DMA1_INDEX] = &ci_dma_ring,
|
||||
[R600_RING_TYPE_UVD_INDEX] = &cayman_uvd_ring,
|
||||
[TN_RING_TYPE_VCE1_INDEX] = &ci_vce_ring,
|
||||
[TN_RING_TYPE_VCE2_INDEX] = &ci_vce_ring,
|
||||
},
|
||||
.irq = {
|
||||
.set = &cik_irq_set,
|
||||
@@ -2117,6 +2132,8 @@ static struct radeon_asic kv_asic = {
|
||||
[R600_RING_TYPE_DMA_INDEX] = &ci_dma_ring,
|
||||
[CAYMAN_RING_TYPE_DMA1_INDEX] = &ci_dma_ring,
|
||||
[R600_RING_TYPE_UVD_INDEX] = &cayman_uvd_ring,
|
||||
[TN_RING_TYPE_VCE1_INDEX] = &ci_vce_ring,
|
||||
[TN_RING_TYPE_VCE2_INDEX] = &ci_vce_ring,
|
||||
},
|
||||
.irq = {
|
||||
.set = &cik_irq_set,
|
||||
|
Reference in New Issue
Block a user