6355 Commits

Author SHA1 Message Date
Ben Skeggs
6544599249 drm/nouveau/dp: support version 4.0 of DP table
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-23 00:21:18 +10:00
Ben Skeggs
e592c73b91 drm/nve0/disp: nvidia randomly decided to move the dithering method
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-23 00:21:14 +10:00
Ben Skeggs
68455a43de drm/nve0: initial modesetting support for kepler chipsets
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-23 00:21:12 +10:00
Ben Skeggs
fa2c113ac1 drm/nouveau: add bios connector type for dms59
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:18:16 +10:00
Ben Skeggs
f3c93cbde7 drm/nouveau: move out of staging drivers
There's really no good reason for us to be in here anymore, we have to
maintain this ABI anyway to avoid angering people.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:18:12 +10:00
Ben Skeggs
f887c425f9 drm/nouveau: bump version to 1.0.0
The time has come to get a proper version number that we can change to
indicate new features etc, rather than the lock-step 0.0.XX that we
previously had.

libdrm has recognised this version as compatible with 0.0.16 since 2.4.22,
so hopefully any breakage people see should be very minimal.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:18:06 +10:00
Ben Skeggs
dd62608bcc drm/nvd0/disp: ignore clock set if no pclk
This happens somehow during init on a machine I have, and leads to a
divide-by-zero.

Lets avoid that...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:18:00 +10:00
Ben Skeggs
27100ac95a drm/nouveau: oops, increase channel dispc_vma to 4
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:56 +10:00
Ben Skeggs
664695ae6f drm/nouveau: inform userspace of new kernel subchannel requirements
All available subchannels are now available for userspace to do with as it
pleases on NVC0+.

On all earlier chipsets, the kernel still uses a software object on subc 0
to implement the page flip completion method.  I hope to find some decent
way of addressing this too, but it's a tad tricker prior to fermi.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:50 +10:00
Ben Skeggs
48aca13f01 drm/nouveau: remove m2mf creation on userspace channels
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:46 +10:00
Ben Skeggs
d5316e2512 drm/nvc0-/disp: reimplement flip completion method as fifo method
Removes need for M2MF subchannel usage on NVC0+.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:40 +10:00
Ben Skeggs
b08abd4e9a drm/nouveau: move fence sequence check to start of loop
I want to be able to use REF_CNT from other places in the kernel without
pushing a fence object onto the list of emitted fences.

The current code makes an assumption that every time the acked sequence is
bumped that there's at least one fence on the list that'll be signalled.

This will no longer be true in the near future.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:36 +10:00
Ben Skeggs
b5b2e5988b drm/nouveau: remove subchannel names from places where it doesn't matter
These are FIFO methods, it doesn't matter what subchannel is being used.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:30 +10:00
Ben Skeggs
accf94969f drm/nouveau/ttm: always do buffer moves on kernel channel
There was once good reasons for wanting the drm to be able to use M2MF etc
on user channels, but they're not relevant anymore.  For the general
buffer move case, we've already lost by transferring between vram/sysmem
already so the context switching overhead is minimal in comparison.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-03-22 17:17:26 +10:00
Linus Torvalds
9f3938346a Merge branch 'kmap_atomic' of git://github.com/congwang/linux
Pull kmap_atomic cleanup from Cong Wang.

It's been in -next for a long time, and it gets rid of the (no longer
used) second argument to k[un]map_atomic().

Fix up a few trivial conflicts in various drivers, and do an "evil
merge" to catch some new uses that have come in since Cong's tree.

* 'kmap_atomic' of git://github.com/congwang/linux: (59 commits)
  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal
  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]
  drbd: remove the second argument of k[un]map_atomic()
  zcache: remove the second argument of k[un]map_atomic()
  gma500: remove the second argument of k[un]map_atomic()
  dm: remove the second argument of k[un]map_atomic()
  tomoyo: remove the second argument of k[un]map_atomic()
  sunrpc: remove the second argument of k[un]map_atomic()
  rds: remove the second argument of k[un]map_atomic()
  net: remove the second argument of k[un]map_atomic()
  mm: remove the second argument of k[un]map_atomic()
  lib: remove the second argument of k[un]map_atomic()
  power: remove the second argument of k[un]map_atomic()
  kdb: remove the second argument of k[un]map_atomic()
  udf: remove the second argument of k[un]map_atomic()
  ubifs: remove the second argument of k[un]map_atomic()
  squashfs: remove the second argument of k[un]map_atomic()
  reiserfs: remove the second argument of k[un]map_atomic()
  ocfs2: remove the second argument of k[un]map_atomic()
  ntfs: remove the second argument of k[un]map_atomic()
  ...
2012-03-21 09:40:26 -07:00
Matt Turner
5466c7b168 drm/i915: use DDC_ADDR instead of hard-coding it
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 10:20:38 +00:00
Matt Turner
370a53f943 drm/radeon: use DDC_ADDR instead of hard-coding it
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 10:20:13 +00:00
Matt Turner
ef61d3d8b7 drm: remove unneeded redefinition of DDC_ADDR
It's already defined in drm_edid.h.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 10:19:53 +00:00
Inki Dae
b73d12303e drm/exynos: added virtual display driver.
this driver would be used for wireless display. virtual display
driver has independent crtc, encoder and connector and to use
this driver, user application should send edid data to this driver
from wireless display.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2012-03-21 10:15:49 +00:00
Alex Deucher
1b2681ba27 drm/radeon/kms: update duallink checks for DCE6
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:58 +00:00
Alex Deucher
be63fe8c8f drm/radeon/kms: add radeon_asic struct for trinity
Trinity (TN) is an APU with:
- Cayman 3D
- DCE6.1 display

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:58 +00:00
Alex Deucher
c420c7454f drm/radeon/kms: add support for ucode loading on trinity (v2)
v2: fix check for MC ucode from Tom.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:57 +00:00
Alex Deucher
e71270fd80 drm/radeon/kms/vm: set vram base offset properly for TN
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:57 +00:00
Alex Deucher
05b3ef69e5 drm/radeon/kms: Update evergreen functions for trinity
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:57 +00:00
Alex Deucher
7b76e479e0 drm/radeon/kms: cayman gpu init updates for trinity
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:57 +00:00
Alex Deucher
1d3949c4ab drm/radeon/kms: Add checks for TN in the DP bridge code
TN (trinity) uses DP bridges for LVDS and VGA just like llano.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:57 +00:00
Alex Deucher
0671bdd798 drm/radeon/kms/DCE6.1: ss is not supported on the internal pplls
It's handled via external clock. It should already be protected
by the external ss flag, but add an explicit check just in case.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:56 +00:00
Alex Deucher
641998701b drm/radeon/kms: disable PPLL0 on DCE6.1 when not in use
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:56 +00:00
Alex Deucher
24e1f7947b drm/radeon/kms: Adjust pll picker for DCE6.1
On TN, UNIPHYA always uses PPLL2, UNIPHYB/C/D/E/F
can use either PPLL1 or PPLL0.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:56 +00:00
Alex Deucher
729b95ef03 drm/radeon/kms: DCE6.1 disp eng pll updates
DCE6.1 uses EXT_PLL1 for disp eng.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:56 +00:00
Alex Deucher
ca7db22bc5 drm/radeon/kms: DCE6.1 watermark updates for TN
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:56 +00:00
Alex Deucher
5d7486c77d drm/radeon/kms: no support for internal thermal sensor on TN yet
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:55 +00:00
Alex Deucher
8848f759c0 drm/radeon/kms: add trinity (TN) chip family
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:55 +00:00
Michel Dänzer
c1b2f69f81 drm/radeon: Update radeon_info_ioctl for SI. (v2)
v2: agd5f: add new MAX_PIPES param

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:55 +00:00
Alex Deucher
02779c082c drm/radeon/kms: add radeon_asic struct for SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:55 +00:00
Alex Deucher
8d5ef7b1f6 drm/radeon/kms: add support for compute rings in CS ioctl on SI
Very basic implementation for picking the ring priority.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:55 +00:00
Alex Deucher
9b136d514e drm/radeon/kms: fill in startup/shutdown callbacks for SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:54 +00:00
Alex Deucher
25a857fbe9 drm/radeon/kms: add support for interrupts on SI
This is mostly identical to evergreen/ni, however
there are some additional fields in the IV vector
for RINGID and VMID.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:54 +00:00
Alex Deucher
347e7592be drm/radeon/kms: Add support for RLC init on SI
RLC handles the interrupt controller and other tasks
on the GPU.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:54 +00:00
Alex Deucher
2ece2e8b7d drm/radeon/kms: add IB and fence dispatch functions for SI
Support both IBs (DE) and CONST IBs (CE).

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:54 +00:00
Alex Deucher
48c0c902e2 drm/radeon/kms: add support for CP setup on SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:54 +00:00
Alex Deucher
8b074dd640 drm/radeon/kms: add support for MC ucode loading on SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:53 +00:00
Alex Deucher
0f0de06c80 drm/radeon/kms: add ucode loading for SI
Currently the driver required 5 sets of ucode:
1. pfp - pre-fetch parser, part of the CP
2. me - micro engine, part of the CP
3. ce - constant engine, part of the CP
4. rlc - interrupt controller
5. mc - memory controller

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:53 +00:00
Alex Deucher
1b5475dba7 drm/radeon/kms: Only VM CS ioctl is supported on SI (v2)
v2: avoid double free.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:53 +00:00
Alex Deucher
498dd8b35a drm/radeon/kms: add VM CS checker for SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:53 +00:00
Alex Deucher
dfcf5f3652 drm/radeon/kms: add support for the CONST IB to the CS ioctl
This adds a new chunk id to the CS ioctl to support the
INDIRECT_BUFFER_CONST packet.

On SI, the CP adds a new engine called the CE (Constant Engine)
which runs simulatenously with the DE (Drawing Engine, formerly
called the ME).  This allows the CP to process two related IBs
simultaneously.  The CE is tasked with loading the constant data
(constant buffers, resource descriptors, samplers, etc.) while
the DE loads context register state and issues drawing commands.
It's up to the userspace application to sychronize the CE and the
DE using special synchronization packets.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:53 +00:00
Alex Deucher
d2800ee59e drm/radeon/kms: add support for MC/VM setup on SI
Sets up the VM and adds support for the new VM ioctls.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:52 +00:00
Alex Deucher
c476dde2ed drm/radeon/kms: Add support for SI GPU reset
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:52 +00:00
Alex Deucher
0a96d72be9 drm/radeon/kms: add gpu init support for SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:52 +00:00
Alex Deucher
1bd47d2e16 drm/radeon/kms: add support for internal thermal sensor on SI
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-21 06:55:52 +00:00