Skip to content

Commit

Permalink
Merge pull request #3 from Razor246/ps4-5.1.0
Browse files Browse the repository at this point in the history
Ps4 5.1.0
  • Loading branch information
Razor246 authored May 12, 2019
2 parents 13f384d + b3b4caa commit b64379e
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 7 deletions.
9 changes: 7 additions & 2 deletions drivers/gpu/drm/drm_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,40 +216,45 @@ EXPORT_SYMBOL(drm_irq_uninstall);
#if IS_ENABLED(CONFIG_DRM_LEGACY)
int drm_legacy_irq_control(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
struct drm_file *file_priv)
{
struct drm_control *ctl = data;
int ret = 0, irq;

/* if we haven't irq we fallback for compatibility reasons -
* this used to be a separate function in drm_dma.h
*/

if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
return 0;
if (!drm_core_check_feature(dev, DRIVER_LEGACY))
return 0;
/* UMS was only ever supported on pci devices. */
if (WARN_ON(!dev->pdev))
return -EINVAL;

switch (ctl->func) {
case DRM_INST_HANDLER:
irq = dev->pdev->irq;

if (dev->if_version < DRM_IF_VERSION(1, 2) &&
ctl->irq != irq)
return -EINVAL;
mutex_lock(&dev->struct_mutex);
ret = drm_irq_install(dev, irq);
mutex_unlock(&dev->struct_mutex);

return ret;
case DRM_UNINST_HANDLER:
mutex_lock(&dev->struct_mutex);
ret = drm_irq_uninstall(dev);
mutex_unlock(&dev->struct_mutex);

return ret;
default:
return -EINVAL;
}
}
#endif
/**
* drm_calc_timestamping_constants - calculate vblank timestamp constants
* @crtc: drm_crtc whose timestamp constants should be updated.
Expand Down
17 changes: 12 additions & 5 deletions drivers/gpu/drm/radeon/radeon_asic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2242,12 +2242,18 @@ static struct radeon_asic kv_asic = {
.get_backlight_level = &atombios_get_backlight_level,
},
.copy = {
.blit = &cik_copy_cpdma,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.blit = &cik_copy_dma,
.blit_ring_index = R600_RING_TYPE_DMA_INDEX,
.dma = &cik_copy_dma,
.dma_ring_index = R600_RING_TYPE_DMA_INDEX,
.copy = &cik_copy_dma,
.copy_ring_index = R600_RING_TYPE_DMA_INDEX,
// .blit = &cik_copy_cpdma,
// .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
// .dma = &cik_copy_cpdma,
// .dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
// .copy = &cik_copy_cpdma,
// .copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
},
.surface = {
.set_reg = r600_set_surface_reg,
Expand Down Expand Up @@ -2626,6 +2632,7 @@ int radeon_asic_init(struct radeon_device *rdev)
case CHIP_KAVERI:
case CHIP_KABINI:
case CHIP_MULLINS:
case CHIP_LIVERPOOL:
rdev->asic = &kv_asic;
/* set num crtcs */
if (rdev->family == CHIP_KAVERI) {
Expand Down Expand Up @@ -2670,7 +2677,7 @@ int radeon_asic_init(struct radeon_device *rdev)
RADEON_CG_SUPPORT_SDMA_LS |
RADEON_CG_SUPPORT_BIF_LS |
RADEON_CG_SUPPORT_VCE_MGCG |
RADEON_CG_SUPPORT_UVD_MGCG |
/*RADEON_CG_SUPPORT_UVD_MGCG |*/
RADEON_CG_SUPPORT_HDP_LS |
RADEON_CG_SUPPORT_HDP_MGCG;
rdev->pg_flags = 0;
Expand All @@ -2683,8 +2690,8 @@ int radeon_asic_init(struct radeon_device *rdev)
RADEON_PG_SUPPORT_RLC_SMU_HS |
RADEON_PG_SUPPORT_SAMU;*/
}
rdev->has_uvd = true;
rdev->has_vce = true;
rdev->has_uvd = false;
rdev->has_vce = false;
break;
default:
/* FIXME: not supported yet */
Expand Down
5 changes: 5 additions & 0 deletions drivers/gpu/drm/radeon/radeon_audio.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,11 @@ int radeon_audio_init(struct radeon_device *rdev)
for (i = 0; i < rdev->audio.num_pins; i++)
radeon_audio_enable(rdev, &rdev->audio.pin[i], 0);

/* LVP has standalone S/PDIF on the third pin, always enable */
if (rdev->family == CHIP_LIVERPOOL) {
radeon_audio_enable(rdev, &rdev->audio.pin[2], 0xf);
}

return 0;
}

Expand Down

0 comments on commit b64379e

Please sign in to comment.