]> Git Repo - linux.git/log
linux.git
7 years agodrm/radeon: fix incorrect use of the lru_lock
Christian König [Mon, 7 Aug 2017 12:03:54 +0000 (14:03 +0200)]
drm/radeon: fix incorrect use of the lru_lock

The BO manager has its own lock and doesn't use the lru_lock.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/ttm: make ttm_mem_type_manager_func debug more useful
Christian König [Mon, 7 Aug 2017 09:13:41 +0000 (11:13 +0200)]
drm/ttm: make ttm_mem_type_manager_func debug more useful

Provide the drm printer directly instead of just the callback.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/amdgpu: Add tracepoint for DMA page mapping (v4)
Tom St Denis [Mon, 31 Jul 2017 13:35:24 +0000 (09:35 -0400)]
drm/amd/amdgpu: Add tracepoint for DMA page mapping (v4)

This helps map DMA addresses back to physical addresses.

Signed-off-by: Tom St Denis <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
(v2):  Added tracepoints for USERPTR, SG mappings, and
     SWIOTBL mappings.  Reformatted trace call perform
     PCI decoding internal to the trace.

(v3):  Add unmap tracepoints as well

(v4):  Move traces into separate functions

7 years agodrm/amdgpu: fix Vega10 HW config for 2MB pages
Christian König [Sat, 29 Jul 2017 11:28:55 +0000 (13:28 +0200)]
drm/amdgpu: fix Vega10 HW config for 2MB pages

Those values weren't correct. This should result in quite some speedup.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Felix Kuehling <[email protected]>
Acked-by: Chunming Zhou <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: only bind VM shadows after validation v2
Christian König [Thu, 13 Jul 2017 10:51:31 +0000 (12:51 +0200)]
drm/amdgpu: only bind VM shadows after validation v2

No need to do this on every CS.

v2: remove all other bind, reorder code

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Felix Kuehling <[email protected]>
Acked-by: Chunming Zhou <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: only move VM BOs in the LRU during validation v2
Christian König [Thu, 3 Aug 2017 15:44:01 +0000 (11:44 -0400)]
drm/amdgpu: only move VM BOs in the LRU during validation v2

This should save us a bunch of command submission overhead.

v2: move the LRU move to the right place to avoid the move for the root BO
    and handle the shadow BOs as well. This turned out to be a bug fix because
    the move needs to happen before the kmap.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Felix Kuehling <[email protected]>
Acked-by: Chunming Zhou <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/ttm: individualize BO reservation obj when they are freed
Christian König [Thu, 20 Jul 2017 18:55:06 +0000 (20:55 +0200)]
drm/ttm: individualize BO reservation obj when they are freed

Use the BOs reservation object when it is put on the ddelete list. This way we
avoid delaying freeing up the BO because of new fences on the reservation object.

This is used by dma-buf and amdgpu's VM page tables.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/ttm: remove nonsense wait in ttm_bo_cleanup_refs_and_unlock
Christian König [Wed, 26 Jul 2017 12:59:10 +0000 (14:59 +0200)]
drm/ttm: remove nonsense wait in ttm_bo_cleanup_refs_and_unlock

With shared reservation objects the assumption that no fence
could have been added isn't true any more.

Additional to that the BO is about to be destroyed, so removing the
fences now has no advantage whatsoever.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agoMerge tag 'omapdrm-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux...
Dave Airlie [Thu, 17 Aug 2017 19:41:32 +0000 (05:41 +1000)]
Merge tag 'omapdrm-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next

omapdrm changes for v4.14

* HDMI hot plug IRQ support (instead of polling)
* Big driver cleanup from Laurent (no functional changes)
* OMAP5 DSI support (only the pinmuxing was missing)

* tag 'omapdrm-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (60 commits)
  drm/omap: Potential NULL deref in omap_crtc_duplicate_state()
  drm/omap: remove no-op cleanup code
  drm/omap: rename omapdrm device back
  drm: omapdrm: Remove omapdrm platform data
  ARM: OMAP2+: Don't register omapdss device for omapdrm
  ARM: OMAP2+: Remove unused omapdrm platform device
  drm: omapdrm: Remove the omapdss driver
  drm: omapdrm: Register omapdrm platform device in omapdss driver
  drm: omapdrm: hdmi: Don't allocate PHY features dynamically
  drm: omapdrm: hdmi: Configure the PHY from the HDMI core version
  drm: omapdrm: hdmi: Configure the PLL from the HDMI core version
  drm: omapdrm: hdmi: Pass HDMI core version as integer to HDMI audio
  drm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit version
  drm: omapdrm: hdmi: Rename functions and structures to use hdmi_ prefix
  drm/omap: add OMAP5 DSIPHY lane-enable support
  drm/omap: use regmap_update_bit() when muxing DSI pads
  drm: omapdrm: Remove dss_features.h
  drm: omapdrm: Move supported outputs feature to dss driver
  drm: omapdrm: Move DSS_FCK feature to dss driver
  drm: omapdrm: Move PCD, LINEWIDTH and DOWNSCALE features to dispc driver
  ...

7 years agoMerge branch 'drm-next-4.14' of git://people.freedesktop.org/~agd5f/linux into drm...
Dave Airlie [Thu, 17 Aug 2017 19:30:53 +0000 (05:30 +1000)]
Merge branch 'drm-next-4.14' of git://people.freedesktop.org/~agd5f/linux into drm-next

More features for 4.14.  Nothing too major here.  I have a few more additional
patches for large page support in vega10 among other things, but they require
some resevation object patches from drm-misc-next, so I'll send that request
once you've pulled the latest drm-misc-next.  Highlights:
- Fixes for ACP audio on stoney
- SR-IOV fixes for vega10
- various powerplay fixes
- lots of code clean up

* 'drm-next-4.14' of git://people.freedesktop.org/~agd5f/linux: (62 commits)
  drm/amdgpu/gfx7: fix function name
  drm/amd/amdgpu: Disabling Power Gating for Stoney platform
  drm/amd/amdgpu: Added a quirk for Stoney platform
  drm/amdgpu: jt_size was wrongly counted twice
  drm/amdgpu: fix missing endian-safe guard
  drm/amdgpu: ignore digest_size when loading sdma fw for raven
  drm/amdgpu: Uninitialized variable in amdgpu_ttm_backend_bind()
  drm/amd/powerplay: fix coding style in hwmgr.c
  drm/amd/powerplay: refine dmesg info under powerplay.
  drm/amdgpu: don't finish the ring if not initialized
  drm/radeon: Fix preferred typo
  drm/amdgpu: Fix preferred typo
  drm/radeon: Fix stolen typo
  drm/amdgpu: Fix stolen typo
  drm/amd/powerplay: fix coccinelle warnings in vega10_hwmgr.c
  drm/amdgpu: set gfx_v9_0_ip_funcs as static
  drm/radeon: switch to drm_*{get,put} helpers
  drm/amdgpu: switch to drm_*{get,put} helpers
  drm/amd/powerplay: add CZ profile support
  drm/amd/powerplay: fix PSI not enabled by kmd
  ...

7 years agoMerge tag 'drm-misc-next-2017-08-16' of git://anongit.freedesktop.org/git/drm-misc...
Dave Airlie [Wed, 16 Aug 2017 21:33:41 +0000 (07:33 +1000)]
Merge tag 'drm-misc-next-2017-08-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next

UAPI Changes:
- vc4: Allow userspace to dictate rendering order in submit_cl ioctl (Eric)

Cross-subsystem Changes:
- vboxvideo: One of Cihangir's patches applies to vboxvideo which is maintained
     in staging

Core Changes:
- atomic_legacy_backoff is officially killed (Daniel)
- Extract drm_device.h (Daniel)
- Unregister drm device on unplug (Daniel)
- Rename deprecated drm_*_(un)?reference functions to drm_*_{get|put} (Cihangir)

Driver Changes:
- vc4: Error/destroy path cleanups, log level demotion, edid leak (Eric)
- various: Make various drm_*_funcs structs const (Bhumika)
- tinydrm: add support for LEGO MINDSTORMS EV3 LCD (David)
- various: Second half of .dumb_{map_offset|destroy} defaults set (Noralf)

Cc: Daniel Vetter <[email protected]>
Cc: Eric Anholt <[email protected]>
Cc: Bhumika Goyal <[email protected]>
Cc: Cihangir Akturk <[email protected]>
Cc: David Lechner <[email protected]>
Cc: Noralf Trønnes <[email protected]>
* tag 'drm-misc-next-2017-08-16' of git://anongit.freedesktop.org/git/drm-misc: (50 commits)
  drm/gem-cma-helper: Remove drm_gem_cma_dumb_map_offset()
  drm/virtio: Use the drm_driver.dumb_destroy default
  drm/bochs: Use the drm_driver.dumb_destroy default
  drm/mgag200: Use the drm_driver.dumb_destroy default
  drm/exynos: Use .dumb_map_offset and .dumb_destroy defaults
  drm/msm: Use the drm_driver.dumb_destroy default
  drm/ast: Use the drm_driver.dumb_destroy default
  drm/qxl: Use the drm_driver.dumb_destroy default
  drm/udl: Use the drm_driver.dumb_destroy default
  drm/cirrus: Use the drm_driver.dumb_destroy default
  drm/tegra: Use .dumb_map_offset and .dumb_destroy defaults
  drm/gma500: Use .dumb_map_offset and .dumb_destroy defaults
  drm/mxsfb: Use .dumb_map_offset and .dumb_destroy defaults
  drm/meson: Use .dumb_map_offset and .dumb_destroy defaults
  drm/kirin: Use .dumb_map_offset and .dumb_destroy defaults
  drm/vc4: Continue the switch to drm_*_put() helpers
  drm/vc4: Fix leak of HDMI EDID
  dma-buf: fix reservation_object_wait_timeout_rcu to wait correctly v2
  dma-buf: add reservation_object_copy_fences (v2)
  drm/tinydrm: add support for LEGO MINDSTORMS EV3 LCD
  ...

7 years agodrm/gem-cma-helper: Remove drm_gem_cma_dumb_map_offset()
Noralf Trønnes [Sun, 6 Aug 2017 15:41:08 +0000 (17:41 +0200)]
drm/gem-cma-helper: Remove drm_gem_cma_dumb_map_offset()

There are no more users of drm_gem_cma_dumb_map_offset(), so remove it.

Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/virtio: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:41:07 +0000 (17:41 +0200)]
drm/virtio: Use the drm_driver.dumb_destroy default

virtio_gpu_mode_dumb_destroy() is the same as drm_gem_dumb_destroy()
which is the drm_driver.dumb_destroy default, so no need to set it.

Cc: David Airlie <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/bochs: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:41:05 +0000 (17:41 +0200)]
drm/bochs: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/mgag200: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:41:03 +0000 (17:41 +0200)]
drm/mgag200: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Dave Airlie <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/exynos: Use .dumb_map_offset and .dumb_destroy defaults
Noralf Trønnes [Sun, 6 Aug 2017 15:41:02 +0000 (17:41 +0200)]
drm/exynos: Use .dumb_map_offset and .dumb_destroy defaults

This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Use drm_gem_dumb_map_offset() in exynos_drm_gem_map_ioctl() and
remove exynos_drm_gem_dumb_map_offset().

Cc: Joonyoung Shim <[email protected]>
Cc: Seung-Woo Kim <[email protected]>
Cc: Kyungmin Park <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/msm: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:41:01 +0000 (17:41 +0200)]
drm/msm: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Rob Clark <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/ast: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:40:59 +0000 (17:40 +0200)]
drm/ast: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Dave Airlie <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/qxl: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:40:58 +0000 (17:40 +0200)]
drm/qxl: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Dave Airlie <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/udl: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:40:57 +0000 (17:40 +0200)]
drm/udl: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Dave Airlie <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/cirrus: Use the drm_driver.dumb_destroy default
Noralf Trønnes [Sun, 6 Aug 2017 15:40:56 +0000 (17:40 +0200)]
drm/cirrus: Use the drm_driver.dumb_destroy default

drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.

Cc: Dave Airlie <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/tegra: Use .dumb_map_offset and .dumb_destroy defaults
Noralf Trønnes [Sun, 6 Aug 2017 15:40:55 +0000 (17:40 +0200)]
drm/tegra: Use .dumb_map_offset and .dumb_destroy defaults

This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.

Cc: Thierry Reding <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/gma500: Use .dumb_map_offset and .dumb_destroy defaults
Noralf Trønnes [Sun, 6 Aug 2017 15:40:54 +0000 (17:40 +0200)]
drm/gma500: Use .dumb_map_offset and .dumb_destroy defaults

This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.

Cc: Patrik Jakobsson <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/mxsfb: Use .dumb_map_offset and .dumb_destroy defaults
Noralf Trønnes [Sun, 6 Aug 2017 15:40:52 +0000 (17:40 +0200)]
drm/mxsfb: Use .dumb_map_offset and .dumb_destroy defaults

This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.

Cc: Marek Vasut <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/meson: Use .dumb_map_offset and .dumb_destroy defaults
Noralf Trønnes [Sun, 6 Aug 2017 15:40:51 +0000 (17:40 +0200)]
drm/meson: Use .dumb_map_offset and .dumb_destroy defaults

This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.

Cc: Neil Armstrong <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/kirin: Use .dumb_map_offset and .dumb_destroy defaults
Noralf Trønnes [Sun, 6 Aug 2017 15:40:50 +0000 (17:40 +0200)]
drm/kirin: Use .dumb_map_offset and .dumb_destroy defaults

This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.

Cc: Xinliang Liu <[email protected]>
Cc: Rongrong Zou <[email protected]>
Cc: Xinwei Kong <[email protected]>
Cc: Chen Feng <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
7 years agodrm/omap: Potential NULL deref in omap_crtc_duplicate_state()
Dan Carpenter [Fri, 11 Aug 2017 20:16:06 +0000 (23:16 +0300)]
drm/omap: Potential NULL deref in omap_crtc_duplicate_state()

If the kmalloc() fails then we dereference "state" when we set
"state->zpos".

Fixes: 3dfeb631a15d ("drm/omap: Rework the rotation-on-crtc hack")
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm/omap: remove no-op cleanup code
Tomi Valkeinen [Tue, 15 Aug 2017 13:04:20 +0000 (16:04 +0300)]
drm/omap: remove no-op cleanup code

The driver sets crtc and plane rotation properties back to 0 degrees in
dev_lastclose() using drm_object_property_set_value().
drm_object_property_set_value() doesn't do anything with atomic drivers,
and a recent change added WARN_ON() when atomic driver calls the
function.

So remove the code.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
7 years agodrm/omap: rename omapdrm device back
Tomi Valkeinen [Wed, 16 Aug 2017 09:43:55 +0000 (12:43 +0300)]
drm/omap: rename omapdrm device back

Now that creating the omapdrm device from the platform code has been
removed, we can rename the omapdrm device back to "omapdrm".

Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: Remove omapdrm platform data
Laurent Pinchart [Fri, 11 Aug 2017 13:49:12 +0000 (16:49 +0300)]
drm: omapdrm: Remove omapdrm platform data

The omapdrm platform data are not used anymore, remove them.

Signed-off-by: Laurent Pinchart <[email protected]>
Reviewed-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agoARM: OMAP2+: Don't register omapdss device for omapdrm
Laurent Pinchart [Fri, 11 Aug 2017 13:49:11 +0000 (16:49 +0300)]
ARM: OMAP2+: Don't register omapdss device for omapdrm

The omapdrm driver doesn't need the omapdss device anymore. Although it
can't be removed completely as the fbdev driver still requires it, we
can condition its registration to the usage of the omapfb driver.

Signed-off-by: Laurent Pinchart <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Reviewed-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agoARM: OMAP2+: Remove unused omapdrm platform device
Laurent Pinchart [Fri, 11 Aug 2017 13:49:10 +0000 (16:49 +0300)]
ARM: OMAP2+: Remove unused omapdrm platform device

The omapdrm platform device is unused, as a replacement is now
registered in the omapdss driver. Remove it.

Signed-off-by: Laurent Pinchart <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Reviewed-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: Remove the omapdss driver
Laurent Pinchart [Fri, 11 Aug 2017 13:49:09 +0000 (16:49 +0300)]
drm: omapdrm: Remove the omapdss driver

The omapdss driver (not to be confused with the omapdss_dss driver) is
now a dummy driver with empty probe and remove functions. Remove it.

Signed-off-by: Laurent Pinchart <[email protected]>
Reviewed-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: Register omapdrm platform device in omapdss driver
Laurent Pinchart [Fri, 11 Aug 2017 13:49:08 +0000 (16:49 +0300)]
drm: omapdrm: Register omapdrm platform device in omapdss driver

The omapdrm platform device is a virtual device created for the sole
purpose of handling the omapdss/omapdrm driver split. It should
eventually be removed. As a first step to ease refactoring move its
registration from platform code to driver code.

The omapdrm driver name must be changed internally to avoid probing both
the device registered in platform code and the device registered in the
omapdss driver, as that would otherwise break bisection.

Signed-off-by: Laurent Pinchart <[email protected]>
Reviewed-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: hdmi: Don't allocate PHY features dynamically
Laurent Pinchart [Fri, 11 Aug 2017 13:49:07 +0000 (16:49 +0300)]
drm: omapdrm: hdmi: Don't allocate PHY features dynamically

There's no need to allocate memory dynamically to duplicate the contents
of a const structure, only to store the memory pointer in a const
pointer field. Just use the original structures directly.

Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: hdmi: Configure the PHY from the HDMI core version
Laurent Pinchart [Fri, 11 Aug 2017 13:49:06 +0000 (16:49 +0300)]
drm: omapdrm: hdmi: Configure the PHY from the HDMI core version

The OMAP4 and OMAP5 HDMI PHYs have different properties that require
specific handling in the HDMI PHY driver. This needs knowledge of the
PHY version, which is currently inferred from the DSS version. As part
of the effort to remove usage of the DSS version, use the HDMI
controller version instead.

Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: hdmi: Configure the PLL from the HDMI core version
Laurent Pinchart [Fri, 11 Aug 2017 13:49:05 +0000 (16:49 +0300)]
drm: omapdrm: hdmi: Configure the PLL from the HDMI core version

The OMAP4 and OMAP5 PLLs have different properties that require specific
handling in the HDMI PLL driver. This needs knowledge of the PLL
version, which is currently inferred from the DSS version. AS part of
the effort to remove usage of the DSS version, use the HDMI controller
version instead.

Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: hdmi: Pass HDMI core version as integer to HDMI audio
Laurent Pinchart [Fri, 11 Aug 2017 13:49:04 +0000 (16:49 +0300)]
drm: omapdrm: hdmi: Pass HDMI core version as integer to HDMI audio

The HDMI audio driver only needs to know which generation of HDMI
transmitter it deals with, not the detailed SoC model. Pass the version
number as an integer to prepare for removal of the OMAP SoC version from
the omapdrm driver.

Signed-off-by: Laurent Pinchart <[email protected]>
Acked-by: Mark Brown <[email protected]>
Acked-by: Bartlomiej Zolnierkiewicz <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit version
Laurent Pinchart [Fri, 11 Aug 2017 13:49:03 +0000 (16:49 +0300)]
drm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit version

The HDMI wrapper code only needs to differentiate between major OMAP
revisions, which can be obtained from the HDMI transmitter compatible
string. Replace the OMAP SoC model checks to prepare for removal of the
OMAP SoC version platform data.

Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm: omapdrm: hdmi: Rename functions and structures to use hdmi_ prefix
Laurent Pinchart [Fri, 11 Aug 2017 13:49:02 +0000 (16:49 +0300)]
drm: omapdrm: hdmi: Rename functions and structures to use hdmi_ prefix

The dsi_pll_ops structure and dsi_init_pll_data() function incorrectly
use a dsi_ prefix, likely due to copy & paste. Fix it by using the
correct hdmi_ prefix.

Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
7 years agodrm/omap: add OMAP5 DSIPHY lane-enable support
Tomi Valkeinen [Thu, 10 Aug 2017 06:33:07 +0000 (09:33 +0300)]
drm/omap: add OMAP5 DSIPHY lane-enable support

We are missing OMAP5 DSIPHY lane-enable support, which has prevented
OMAP5 DSI working in mainline. This patch adds the lane-enable similarly
to the recently added OMAP4 version.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
7 years agodrm/omap: use regmap_update_bit() when muxing DSI pads
Tomi Valkeinen [Thu, 10 Aug 2017 12:11:03 +0000 (15:11 +0300)]
drm/omap: use regmap_update_bit() when muxing DSI pads

Use regmap_update_bits instead of regmap_read/write, which simplifies
the code.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
7 years agodrm/nouveau: Fix merge commit
Maarten Lankhorst [Tue, 15 Aug 2017 08:52:50 +0000 (10:52 +0200)]
drm/nouveau: Fix merge commit

The most recent merge commit in airlied/drm-next has problems with
confusing old_crtc_state and new_crtc_state. Use the
for_each_oldnew_crtc_in_state macros to clean up the confusion,
and explicitly look at the correct state instead of looking at
asyh->state.

With these fixes it becomes more obvious what the code is trying to do,
which will hopefully prevent future confusion.

Cc: Dave Airlie <[email protected]>
Signed-off-by: Maarten Lankhorst <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
7 years agodrm/amdgpu/gfx7: fix function name
Alex Deucher [Tue, 15 Aug 2017 14:34:55 +0000 (10:34 -0400)]
drm/amdgpu/gfx7: fix function name

Was using the wrong prefix (gmc rather than gfx).  The function
is related to the gfx hw, not gmc.  This also makes it consistent
with the naming in gfx8.

Reviewed-by: Harry Wentland <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/amdgpu: Disabling Power Gating for Stoney platform
Vijendar Mukunda [Sun, 18 Jun 2017 20:41:23 +0000 (02:11 +0530)]
drm/amd/amdgpu: Disabling Power Gating for Stoney platform

Power Gating is disabled in Stoney platform.

Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Vijendar Mukunda <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/amdgpu: Added a quirk for Stoney platform
Vijendar Mukunda [Fri, 7 Jul 2017 15:17:13 +0000 (20:47 +0530)]
drm/amd/amdgpu: Added a quirk for Stoney platform

Added DW_I2S_QUIRK_16BIT_IDX_OVERRIDE quirk for Stoney.

Supported format and bus width for I2S controller read
from I2S Component Parameter registers.
These are ready only registers.

For Stoney, I2S Component Parameter registers are programmed
to support 32 bit format and 4 bytes bus width only.

By setting this quirk,It will override 32 bit format with
16 bit format and 2 bytes as bus width for Stoney.

Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Vijendar Mukunda <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: jt_size was wrongly counted twice
Evan Quan [Thu, 10 Aug 2017 08:12:45 +0000 (16:12 +0800)]
drm/amdgpu: jt_size was wrongly counted twice

Signed-off-by: Evan Quan <[email protected]>
Signed-off-by: Huang Rui <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: fix missing endian-safe guard
Evan Quan [Thu, 10 Aug 2017 07:17:56 +0000 (15:17 +0800)]
drm/amdgpu: fix missing endian-safe guard

Signed-off-by: Evan Quan <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: ignore digest_size when loading sdma fw for raven
Hawking Zhang [Thu, 10 Aug 2017 03:24:43 +0000 (11:24 +0800)]
drm/amdgpu: ignore digest_size when loading sdma fw for raven

digest_size has been retired from sdma v4 fw

Signed-off-by: Hawking Zhang <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Reviewed-by: Evan Quan <[email protected]>
Reviewed-by: Junwei Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Uninitialized variable in amdgpu_ttm_backend_bind()
Dan Carpenter [Wed, 9 Aug 2017 10:30:46 +0000 (13:30 +0300)]
drm/amdgpu: Uninitialized variable in amdgpu_ttm_backend_bind()

My static checker complains that it's possible for "r" to be
uninitialized.  It used to be set to zero so this returns it to the old
behavior.

Fixes: 98a7f88ce9a9 ("drm/amdgpu: bind BOs with GTT space allocated directly v2")
Reviewed-by: Christian König <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: fix coding style in hwmgr.c
Rex Zhu [Tue, 8 Aug 2017 04:20:30 +0000 (12:20 +0800)]
drm/amd/powerplay: fix coding style in hwmgr.c

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: refine dmesg info under powerplay.
Rex Zhu [Fri, 4 Aug 2017 07:31:37 +0000 (15:31 +0800)]
drm/amd/powerplay: refine dmesg info under powerplay.

Use pr_debug to prevent spamming unimportant dmesg.

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: don't finish the ring if not initialized
Trigger Huang [Tue, 8 Aug 2017 10:42:51 +0000 (06:42 -0400)]
drm/amdgpu: don't finish the ring if not initialized

If a ring is not initialized, it also should not be finished.
For example, in Vega10's SR-IOV environment, UVD's decode ring is not
initialized, but will be finnished in amdgpu_uvd_sw_fini, because UVD
driver put all the uvd decode ring's finish operation into
amdgpu_uvd_sw_fini function, while not uvd_vXXX_0_sw_fini. This will
lead to amdgpu module unloading failure.

Signed-off-by: Trigger Huang <[email protected]>
Reviewed-by: Monk Liu <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/radeon: Fix preferred typo
Kent Russell [Tue, 8 Aug 2017 11:50:46 +0000 (07:50 -0400)]
drm/radeon: Fix preferred typo

Change "prefered" to "preferred"

Signed-off-by: Kent Russell <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Fix preferred typo
Kent Russell [Tue, 8 Aug 2017 11:58:01 +0000 (07:58 -0400)]
drm/amdgpu: Fix preferred typo

Change "prefered" to "preferred"

Signed-off-by: Kent Russell <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/radeon: Fix stolen typo
Kent Russell [Tue, 8 Aug 2017 11:48:52 +0000 (07:48 -0400)]
drm/radeon: Fix stolen typo

Change "stollen" to "stolen"

Signed-off-by: Kent Russell <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Fix stolen typo
Kent Russell [Tue, 8 Aug 2017 11:48:01 +0000 (07:48 -0400)]
drm/amdgpu: Fix stolen typo

Change "stollen" to "stolen"

Signed-off-by: Kent Russell <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: fix coccinelle warnings in vega10_hwmgr.c
Rex Zhu [Mon, 7 Aug 2017 07:32:29 +0000 (15:32 +0800)]
drm/amd/powerplay: fix coccinelle warnings in vega10_hwmgr.c

delete unneeded semicolon.

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: set gfx_v9_0_ip_funcs as static
Huang Rui [Fri, 4 Aug 2017 08:56:38 +0000 (16:56 +0800)]
drm/amdgpu: set gfx_v9_0_ip_funcs as static

We won't use this member in other files, so set it static.

Signed-off-by: Huang Rui <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/radeon: switch to drm_*{get,put} helpers
Cihangir Akturk [Thu, 3 Aug 2017 11:58:35 +0000 (14:58 +0300)]
drm/radeon: switch to drm_*{get,put} helpers

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() adn should not be
used by new code. So convert all users of compatibility functions to use
the new APIs.

Reviewed-by: Christian König <[email protected]>
Signed-off-by: Cihangir Akturk <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: switch to drm_*{get,put} helpers
Cihangir Akturk [Thu, 3 Aug 2017 11:58:16 +0000 (14:58 +0300)]
drm/amdgpu: switch to drm_*{get,put} helpers

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to use
the new APIs.

Reviewed-by: Christian König <[email protected]>
Signed-off-by: Cihangir Akturk <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: add CZ profile support
Alex Deucher [Wed, 14 Jun 2017 22:46:14 +0000 (18:46 -0400)]
drm/amd/powerplay: add CZ profile support

Support the profiling modes for sclk.

v2: delete profileing mode for mclk.

Signed-off-by: Alex Deucher <[email protected]>
Signed-off-by: Rex Zhu <[email protected]>
Tested-and-Reviewed-by Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: fix PSI not enabled by kmd
Rex Zhu [Wed, 2 Aug 2017 11:27:04 +0000 (19:27 +0800)]
drm/amd/powerplay: fix PSI not enabled by kmd

cherry-pick from windows driver.

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: fix set highest mclk level failed on Vega10
Rex Zhu [Wed, 2 Aug 2017 10:37:44 +0000 (18:37 +0800)]
drm/amd/powerplay: fix set highest mclk level failed on Vega10

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: fix force dpm level failed on CZ
Rex Zhu [Wed, 2 Aug 2017 09:43:01 +0000 (17:43 +0800)]
drm/amd/powerplay: fix force dpm level failed on CZ

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: use 256 bit buffers for all wb allocations (v2)
Alex Deucher [Fri, 28 Jul 2017 16:14:15 +0000 (12:14 -0400)]
drm/amdgpu: use 256 bit buffers for all wb allocations (v2)

May waste a bit of memory, but simplifies the interface
significantly.

v2: convert internal accounting to use 256bit slots

Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Make amdgpu_atif_handler static
Jean Delvare [Sun, 30 Jul 2017 11:11:02 +0000 (13:11 +0200)]
drm/amdgpu: Make amdgpu_atif_handler static

There are no external users of function amdgpu_atif_handler so it can
be static.

Signed-off-by: Jean Delvare <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: "Christian König" <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/radeon: Make radeon_atif_handler static
Jean Delvare [Sun, 30 Jul 2017 11:05:24 +0000 (13:05 +0200)]
drm/radeon: Make radeon_atif_handler static

There are no external users of function radeon_atif_handler so it can
be static.

Signed-off-by: Jean Delvare <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: "Christian König" <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Fix amdgpu_pm_acpi_event_handler warning
Jean Delvare [Sun, 30 Jul 2017 11:42:55 +0000 (13:42 +0200)]
drm/amdgpu: Fix amdgpu_pm_acpi_event_handler warning

Include a missing header to get rid of the following warning:

drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c:65:6: warning: no previous prototype for ‘amdgpu_pm_acpi_event_handler’ [-Wmissing-prototypes]
 void amdgpu_pm_acpi_event_handler(struct amdgpu_device *adev)
      ^

Signed-off-by: Jean Delvare <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: "Christian König" <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Fix dce_v6_0_disable_dce warning
Jean Delvare [Sun, 30 Jul 2017 11:26:14 +0000 (13:26 +0200)]
drm/amdgpu: Fix dce_v6_0_disable_dce warning

Include a missing header to get rid of the following warning:

drivers/gpu/drm/amd/amdgpu/dce_v6_0.c:521:6: warning: no previous prototype for 'dce_v6_0_disable_dce' [-Wmissing-prototypes]
 void dce_v6_0_disable_dce(struct amdgpu_device *adev)
      ^

Signed-off-by: Jean Delvare <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: "Christian König" <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Fix undue fallthroughs in golden registers initialization
Jean Delvare [Sun, 30 Jul 2017 08:18:25 +0000 (10:18 +0200)]
drm/amdgpu: Fix undue fallthroughs in golden registers initialization

As I was staring at the si_init_golden_registers code, I noticed that
the Pitcairn initialization silently falls through the Cape Verde
initialization, and the Oland initialization falls through the Hainan
initialization. However there is no comment stating that this is
intentional, and the radeon driver doesn't have any such fallthrough,
so I suspect this is not supposed to happen.

Signed-off-by: Jean Delvare <[email protected]>
Fixes: 62a37553414a ("drm/amdgpu: add si implementation v10")
Cc: Ken Wang <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: "Marek Olšák" <[email protected]>
Cc: "Christian König" <[email protected]>
Cc: Flora Cui <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Cc: [email protected]
7 years agodrm/amdgpu/sdma4: move wptr polling setup
Alex Deucher [Thu, 27 Jul 2017 19:43:59 +0000 (15:43 -0400)]
drm/amdgpu/sdma4: move wptr polling setup

Move it up before ring enablement with all of the other
engine setup and explicitly disable it for bare metal.

Cc: Frank Min <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/sdma4: drop allocation of poll_mem_offs
Alex Deucher [Fri, 28 Jul 2017 23:04:21 +0000 (19:04 -0400)]
drm/amdgpu/sdma4: drop allocation of poll_mem_offs

We already allocate this as part of the ring structure,
use that instead.

Cc: Frank Min <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/sdma4: drop hdp flush from wptr shadow update
Alex Deucher [Thu, 27 Jul 2017 19:30:27 +0000 (15:30 -0400)]
drm/amdgpu/sdma4: drop hdp flush from wptr shadow update

The wb buffer is in system memory, not vram so the flush
is useless.

Cc: Frank Min <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/sdma4: set wptr shadow atomically (v2)
Alex Deucher [Thu, 27 Jul 2017 19:28:14 +0000 (15:28 -0400)]
drm/amdgpu/sdma4: set wptr shadow atomically (v2)

No functional change until wptr polling uses this
location (future patch).

v2: use WRITE_ONCE

Cc: Frank Min <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Fix KFD initialization for multi-GPU systems
Felix Kuehling [Fri, 28 Jul 2017 20:54:54 +0000 (16:54 -0400)]
drm/amdgpu: Fix KFD initialization for multi-GPU systems

kfd2kgd is device-specific, so it should not be a global variable.
Merge amdgpu_amdkfd_load_interface and amdgpu_amdkfd_device_probe
so that it's only needed as a local variable in one function.

Signed-off-by: Felix Kuehling <[email protected]>
Reviewed-by: Oded Gabbay <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: add vclk/dclkSoftMin support for raven
Junwei Zhang [Fri, 28 Jul 2017 01:40:08 +0000 (09:40 +0800)]
drm/amd/powerplay: add vclk/dclkSoftMin support for raven

Signed-off-by: Junwei Zhang <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/sdma4: drop unused register header
Alex Deucher [Thu, 27 Jul 2017 19:24:49 +0000 (15:24 -0400)]
drm/amdgpu/sdma4: drop unused register header

nbio registers are not used in this file.

Reviewed-by: Christian König <[email protected]>
Cc: Frank Min <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: drop old ip definitions for gfxhub and mmhub
Alex Deucher [Fri, 28 Jul 2017 03:37:35 +0000 (23:37 -0400)]
drm/amdgpu: drop old ip definitions for gfxhub and mmhub

The gfxhub and mmhub code are now helpers for gmc rather
than standalone IPs.  When that changes these were left
over.  Remove them.

Acked-by: Huang Rui <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: make wb 256bit function names consistent
Alex Deucher [Thu, 27 Jul 2017 19:10:50 +0000 (15:10 -0400)]
drm/amdgpu: make wb 256bit function names consistent

Use a lower case b to be consistent with the other wb functions.

Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Support IOMMU on Raven
Yong Zhao [Thu, 27 Jul 2017 16:48:22 +0000 (12:48 -0400)]
drm/amdgpu: Support IOMMU on Raven

We achieved that by setting S(SYSTEM) and P(PDE as PTE) bit to 1 for
PDEs and setting S bit to 1 for PTEs when the corresponding addresses
are not occupied by gpu driver allocated buffers.

Signed-off-by: Yong Zhao <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Add a parameter to amdgpu_bo_create()
Yong Zhao [Thu, 20 Jul 2017 22:49:09 +0000 (18:49 -0400)]
drm/amdgpu: Add a parameter to amdgpu_bo_create()

The parameter init_value contains the value to which we initialized
VRAM bo when AMDGPU_GEM_CREATE_VRAM_CLEARED flag is set.

Signed-off-by: Yong Zhao <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: use amdgpu_bo_free_kernel more often
Christian König [Thu, 27 Jul 2017 15:43:00 +0000 (17:43 +0200)]
drm/amdgpu: use amdgpu_bo_free_kernel more often

Saves us even more loc.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: use amdgpu_bo_create_kernel more often
Christian König [Thu, 27 Jul 2017 15:24:36 +0000 (17:24 +0200)]
drm/amdgpu: use amdgpu_bo_create_kernel more often

Saves us quite a bunch of loc.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: add amdgpu_bo_create_reserved
Christian König [Thu, 27 Jul 2017 15:08:54 +0000 (17:08 +0200)]
drm/amdgpu: add amdgpu_bo_create_reserved

Same as amdgpu_bo_create_kernel, but keeps the BO reserved.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: improve amdgpu_bo_create_kernel
Christian König [Thu, 27 Jul 2017 12:52:53 +0000 (14:52 +0200)]
drm/amdgpu: improve amdgpu_bo_create_kernel

Make allocating the new BO optional.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: shadow and mn list are mutually exclusive
Christian König [Thu, 20 Jul 2017 21:58:19 +0000 (23:58 +0200)]
drm/amdgpu: shadow and mn list are mutually exclusive

Save some memory because only one of those is used at all times.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: move some defines around
Christian König [Thu, 20 Jul 2017 22:16:21 +0000 (00:16 +0200)]
drm/amdgpu: move some defines around

Move amdgpu_bo and related structures into amdgpu_object.h.

Move amdgpu_bo_list structures to the amdgpu_bo_list functions.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: consistent use u64_to_user_ptr
Christian König [Wed, 26 Jul 2017 15:02:52 +0000 (17:02 +0200)]
drm/amdgpu: consistent use u64_to_user_ptr

Instead of open coding the conversion from u64 to pointers.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: cleanup kptr handling
Christian König [Thu, 20 Jul 2017 21:45:18 +0000 (23:45 +0200)]
drm/amdgpu: cleanup kptr handling

Don't keep around the same pointer twice.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: update didt configs
Evan Quan [Fri, 28 Jul 2017 07:18:43 +0000 (15:18 +0800)]
drm/amd/powerplay: update didt configs

Signed-off-by: Evan Quan <[email protected]>
Reviewed-by: Huang Rui <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: updated vega10 fan control
Evan Quan [Fri, 28 Jul 2017 07:01:14 +0000 (15:01 +0800)]
drm/amd/powerplay: updated vega10 fan control

Signed-off-by: Evan Quan <[email protected]>
Reviewed-by: Huang Rui <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: update vega10 golden setting
Evan Quan [Fri, 28 Jul 2017 06:25:18 +0000 (14:25 +0800)]
drm/amdgpu: update vega10 golden setting

Signed-off-by: Evan Quan <[email protected]>
Reviewed-by: Ken Wang <[email protected]>
Reviewed-by: Huang Rui <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amd/powerplay: delete PCC error message in smu7_hwmgr.c
Rex Zhu [Wed, 26 Jul 2017 08:59:26 +0000 (16:59 +0800)]
drm/amd/powerplay: delete PCC error message in smu7_hwmgr.c

In some asics,Really no need to program PCC HW register.

Signed-off-by: Rex Zhu <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/sdma4: Enable sdma poll mem addr on vega10 for SRIOV
Frank Min [Wed, 28 Jun 2017 12:02:04 +0000 (20:02 +0800)]
drm/amdgpu/sdma4: Enable sdma poll mem addr on vega10 for SRIOV

While doing flr on VFs, there is possibility to lost the doorbell
writing for sdma, so enable poll mem for sdma, then sdma fw would
check the pollmem holding wptr.

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Xiangliang.Yu <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/uvd7: optimize uvd initialization sequence for SRIOV
Frank Min [Mon, 12 Jun 2017 09:32:14 +0000 (17:32 +0800)]
drm/amdgpu/uvd7: optimize uvd initialization sequence for SRIOV

1.Since in sriov there is no need of decoding, so skip the related code;
2.Vcpu boot up and umc enable need to take at the end of the init sequence;

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Xiangliang.Yu <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/vce4: optimize vce 4.0 init table sequence for SRIOV
Frank Min [Mon, 12 Jun 2017 02:56:51 +0000 (10:56 +0800)]
drm/amdgpu/vce4: optimize vce 4.0 init table sequence for SRIOV

Optimize init table sequence for sriov.

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Xiangliang.Yu <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: According hardware design revert vce and uvd doorbell assignment
Frank Min [Mon, 12 Jun 2017 02:57:43 +0000 (10:57 +0800)]
drm/amdgpu: According hardware design revert vce and uvd doorbell assignment

Now uvd doorbell is from 0xf8-0xfb and vce doorbell is from 0xfc-0xff

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Xiangliang.Yu <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu: Skip uvd and vce ring test for SRIOV
Frank Min [Mon, 12 Jun 2017 03:02:09 +0000 (11:02 +0800)]
drm/amdgpu: Skip uvd and vce ring test for SRIOV

Since rptr would not be accessed on later secure asics in sriov, remove
the ring test.

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Xiangliang.Yu <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
7 years agodrm/amdgpu/vce4: Remove vce interrupt enable related code for sriov
Frank Min [Mon, 12 Jun 2017 03:31:55 +0000 (11:31 +0800)]
drm/amdgpu/vce4: Remove vce interrupt enable related code for sriov

Interrupt enable is contained in vce init table and this register could
not be accessed in secure ASICs, so just remove it.

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Xiangliang.Yu <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
This page took 0.108099 seconds and 4 git commands to generate.