sync with OpenBSD -current
This commit is contained in:
parent
ee68147dcd
commit
1cefe29c7e
1651 changed files with 283292 additions and 68089 deletions
|
@ -376,7 +376,7 @@ static void jpeg_v1_0_decode_ring_emit_reg_wait(struct amdgpu_ring *ring,
|
|||
static void jpeg_v1_0_decode_ring_emit_vm_flush(struct amdgpu_ring *ring,
|
||||
unsigned vmid, uint64_t pd_addr)
|
||||
{
|
||||
struct amdgpu_vmhub *hub = &ring->adev->vmhub[ring->funcs->vmhub];
|
||||
struct amdgpu_vmhub *hub = &ring->adev->vmhub[ring->vm_hub];
|
||||
uint32_t data0, data1, mask;
|
||||
|
||||
pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr);
|
||||
|
@ -437,7 +437,7 @@ static int jpeg_v1_0_process_interrupt(struct amdgpu_device *adev,
|
|||
|
||||
switch (entry->src_id) {
|
||||
case 126:
|
||||
amdgpu_fence_process(&adev->jpeg.inst->ring_dec);
|
||||
amdgpu_fence_process(adev->jpeg.inst->ring_dec);
|
||||
break;
|
||||
default:
|
||||
DRM_ERROR("Unhandled interrupt: %d %d\n",
|
||||
|
@ -460,6 +460,7 @@ int jpeg_v1_0_early_init(void *handle)
|
|||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
|
||||
adev->jpeg.num_jpeg_inst = 1;
|
||||
adev->jpeg.num_jpeg_rings = 1;
|
||||
|
||||
jpeg_v1_0_set_dec_ring_funcs(adev);
|
||||
jpeg_v1_0_set_irq_funcs(adev);
|
||||
|
@ -484,14 +485,15 @@ int jpeg_v1_0_sw_init(void *handle)
|
|||
if (r)
|
||||
return r;
|
||||
|
||||
ring = &adev->jpeg.inst->ring_dec;
|
||||
ring = adev->jpeg.inst->ring_dec;
|
||||
ring->vm_hub = AMDGPU_MMHUB0(0);
|
||||
snprintf(ring->name, sizeof(ring->name), "jpeg_dec");
|
||||
r = amdgpu_ring_init(adev, ring, 512, &adev->jpeg.inst->irq,
|
||||
0, AMDGPU_RING_PRIO_DEFAULT, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
adev->jpeg.internal.jpeg_pitch = adev->jpeg.inst->external.jpeg_pitch =
|
||||
adev->jpeg.internal.jpeg_pitch[0] = adev->jpeg.inst->external.jpeg_pitch[0] =
|
||||
SOC15_REG_OFFSET(JPEG, 0, mmUVD_JPEG_PITCH);
|
||||
|
||||
return 0;
|
||||
|
@ -508,7 +510,7 @@ void jpeg_v1_0_sw_fini(void *handle)
|
|||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
|
||||
amdgpu_ring_fini(&adev->jpeg.inst[0].ring_dec);
|
||||
amdgpu_ring_fini(adev->jpeg.inst->ring_dec);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -521,7 +523,7 @@ void jpeg_v1_0_sw_fini(void *handle)
|
|||
*/
|
||||
void jpeg_v1_0_start(struct amdgpu_device *adev, int mode)
|
||||
{
|
||||
struct amdgpu_ring *ring = &adev->jpeg.inst->ring_dec;
|
||||
struct amdgpu_ring *ring = adev->jpeg.inst->ring_dec;
|
||||
|
||||
if (mode == 0) {
|
||||
WREG32_SOC15(JPEG, 0, mmUVD_LMI_JRBC_RB_VMID, 0);
|
||||
|
@ -548,7 +550,6 @@ static const struct amdgpu_ring_funcs jpeg_v1_0_decode_ring_vm_funcs = {
|
|||
.nop = PACKET0(0x81ff, 0),
|
||||
.support_64bit_ptrs = false,
|
||||
.no_user_fence = true,
|
||||
.vmhub = AMDGPU_MMHUB_0,
|
||||
.extra_dw = 64,
|
||||
.get_rptr = jpeg_v1_0_decode_ring_get_rptr,
|
||||
.get_wptr = jpeg_v1_0_decode_ring_get_wptr,
|
||||
|
@ -579,7 +580,7 @@ static const struct amdgpu_ring_funcs jpeg_v1_0_decode_ring_vm_funcs = {
|
|||
|
||||
static void jpeg_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev)
|
||||
{
|
||||
adev->jpeg.inst->ring_dec.funcs = &jpeg_v1_0_decode_ring_vm_funcs;
|
||||
adev->jpeg.inst->ring_dec->funcs = &jpeg_v1_0_decode_ring_vm_funcs;
|
||||
DRM_INFO("JPEG decode is enabled in VM mode\n");
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue