summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev into ↵Dave Airlie2015-03-234-4/+5
|\ | | | | | | | | | | | | | | | | | | | | | | drm-next rcar-du fixes * 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Enable the atomic updates API drm: rcar-du: Don't initialize event->pipe field drm: rcar-du: Fix framebuffer reference leak through plane state MAINTAINERS: Remove rcar-du.h entry
| * drm: rcar-du: Enable the atomic updates APILaurent Pinchart2015-03-191-1/+2
| | | | | | | | | | | | | | Set the DRIVER_ATOMIC flag to enable usage of the atomic updates API with the driver. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
| * drm: rcar-du: Don't initialize event->pipe fieldLaurent Pinchart2015-03-191-2/+0
| | | | | | | | | | | | | | The field is set by drm_send_vblank_event(), there's no need to preinitialize it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
| * drm: rcar-du: Fix framebuffer reference leak through plane stateLaurent Pinchart2015-03-191-0/+3
| | | | | | | | | | | | | | | | Plane state duplication takes a reference to the framebuffer stored in the state, but state destroy doesn't release it. This causes a reference leak. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
| * MAINTAINERS: Remove rcar-du.h entryJoe Perches2015-03-191-1/+0
| | | | | | | | | | | | | | | | commit 2378ad1228d2 ("drm: rcar-du: Remove platform data support") removed the file, remove the pattern. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
* | Merge branch 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev into ↵Dave Airlie2015-03-231-95/+102
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drm-next adv7511 fixes. * 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev: drm: adv7511: Refactor power management drm: adv7511: Fix nested sleep when reading EDID drm: adv7511: Fix DDC error interrupt handling
| * | drm: adv7511: Refactor power managementLaurent Pinchart2015-03-191-48/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the internal dependency on DPMS mode for power management by using a by a powered state boolean instead, and use the new power off handler at probe time. This ensure that the regmap cache is properly marked as dirty when the device is probed, and the registers properly synced during the first power up. As a side effect this removes the initialization of current_edid_segment at probe time, as the field will be initialized when the device is powered on, at the latest right before reading EDID data. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Christian Kohn <christian.kohn@xilinx.com> Tested-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
| * | drm: adv7511: Fix nested sleep when reading EDIDLaurent Pinchart2015-03-191-50/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EDID read code waits for the read completion interrupt to occur using wait_event_interruptible(). The condition passed to the macro reads I2C registers. This results in sleeping with the task state set to TASK_INTERRUPTIBLE, triggering a WARN_ON() introduced in commit 8eb23b9f35aae ("sched: Debug nested sleeps"). Fix this by reworking the EDID read code. Instead of checking whether the read is complete through I2C reads, handle the interrupt registers in the interrupt handler and update a new edid_read flag accordingly. As a side effect both the IRQ and polling code paths now process the interrupt sources through the same code path, simplifying the code. Cc: stable@vger.kernel.org Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
| * | drm: adv7511: Fix DDC error interrupt handlingLaurent Pinchart2015-03-191-4/+10
| |/ | | | | | | | | | | | | | | | | The DDC error interrupt bit is located in REG_INT1, not REG_INT0. Update both the interrupt wait code and the interrupt sources reset code accordingly. Cc: stable@vger.kernel.org Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
* | Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie2015-03-2343-85/+2408
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-next - DP MST support (disabled by default) - non-ATOM aux support (DCE5+) - output csc support for clamped RGB - Lots of new queries for profiling, Gallium HUD, etc. - Misc fixes * 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux: (40 commits) drm/radeon: add DisplayPort MST support (v2) drm/radeon: improve encoder picking functions (v2) drm/radeon: export max link rate calculation drm/radeon: add new atombios encoder/transmitter interfaces drm/radeon: add some MST registers radeon/fb: add wrapper functions around fb connector add/remove radeon/cik: add support for short HPD irqs radeon/si: add support for short HPD irqs radeon/evergreen: add support for short HPD irqs radeon: introduce a dp_work handler drm/dp_mst: add a function to retrieve vcpi slots drm/radeon: program auxch directly (v2) drm/radeon: fix doublescan modes (v2) drm/radeon: typo in parameter description drm/radeon: add support for read reg query from radeon info ioctl drm/radeon: add get_allowed_info_register for CIK drm/radeon: add get_allowed_info_register for SI drm/radeon: add get_allowed_info_register for cayman/TN drm/radeon: add get_allowed_info_register for EG/BTC drm/radeon: add get_allowed_info_register for r6xx/r7xx ...
| * drm/radeon: add DisplayPort MST support (v2)Dave Airlie2015-03-1913-6/+998
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds initial DP 1.2 MST support to radeon, on CAYMAN and up in theory. This is off by default. v2: agd5f: - add UNIPHY3 offsets - move atom cmd table code into atombios_encoders.c - whitespace cleanup - replace some magic numbers with proper defines Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: improve encoder picking functions (v2)Dave Airlie2015-03-192-23/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | For MST we need to be able to pick front end encoders separate from backend, but only for MST, so we need to make the encoder picking interface smarter. v2: agd5f: squash in: drm/radeon: release digital encoder before asking for new one Reported-by: Dieter Nützel <Dieter@nuetzel-hh.de> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: export max link rate calculationDave Airlie2015-03-192-2/+4
| | | | | | | | | | | | | | We need this in the MST code later. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add new atombios encoder/transmitter interfacesDave Airlie2015-03-192-5/+28
| | | | | | | | | | | | | | | | These allow overriding the encoder id with the frontend, we need this for setting up MST. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add some MST registersDave Airlie2015-03-191-0/+37
| | | | | | | | | | | | | | These registers will be used later to setup Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * radeon/fb: add wrapper functions around fb connector add/removeDave Airlie2015-03-192-0/+14
| | | | | | | | | | | | | | These are just two wrappers to be used in the MST code later. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * radeon/cik: add support for short HPD irqsAlex Deucher2015-03-191-12/+87
| | | | | | | | | | | | This adds support to process short HPD irqs on CIK gpus. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * radeon/si: add support for short HPD irqsDave Airlie2015-03-191-12/+88
| | | | | | | | | | | | | | This adds support to process short HPD irqs on SI gpus. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * radeon/evergreen: add support for short HPD irqsDave Airlie2015-03-191-12/+89
| | | | | | | | | | | | | | | | This adds support for processing short irqs, and triggering the dp_work. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * radeon: introduce a dp_work handlerDave Airlie2015-03-192-0/+5
| | | | | | | | | | | | | | | | This is to be called on short HPD irqs, just introduce the basic infrastructure for it. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/dp_mst: add a function to retrieve vcpi slotsDave Airlie2015-03-192-0/+15
| | | | | | | | | | | | | | | | radeon requires this to get the slots for later filling out a table on every transition. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: program auxch directly (v2)Dave Airlie2015-03-197-3/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The atombios tables have an unfortunate restriction on only being able to write 12 bytes, MST really wants 16-bytes here, and since the hw can do it, we should just write directly to it. This uses a module option to allow for it now, and maybe we should provide the old code as a fallback for a while. v2: (agd5f) - move registers to a proper register header - only enable on DCE5+ - enable by default on DCE5+ - Switch pad to aux mode before using it - reformat instance handling to better match the rest of the driver Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: fix doublescan modes (v2)Alex Deucher2015-03-191-2/+6
| | | | | | | | | | | | | | | | | | Use the correct flags for atom. v2: handle DRM_MODE_FLAG_DBLCLK Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
| * drm/radeon: typo in parameter descriptionVincent Batts2015-03-191-1/+1
| | | | | | | | | | | | | | "defaul" -> "default" Signed-off-by: Vincent Batts <vbatts@hashbangbash.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add support for read reg query from radeon info ioctlAlex Deucher2015-03-192-0/+9
| | | | | | | | | | | | | | | | | | | | This allows us to query certain registers from userspace for profiling and harvest configuration. E.g., it can be used by the GALLIUM_HUD for profiling the status of various gfx blocks. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add get_allowed_info_register for CIKAlex Deucher2015-03-194-0/+39
| | | | | | | | | | | | | | Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add get_allowed_info_register for SIAlex Deucher2015-03-194-0/+34
| | | | | | | | | | | | | | Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add get_allowed_info_register for cayman/TNAlex Deucher2015-03-194-0/+34
| | | | | | | | | | | | | | Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add get_allowed_info_register for EG/BTCAlex Deucher2015-03-194-0/+34
| | | | | | | | | | | | | | Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add get_allowed_info_register for r6xx/r7xxAlex Deucher2015-03-193-0/+32
| | | | | | | | | | | | | | Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add get_allowed_info_register function for r1xx-r5xxAlex Deucher2015-03-191-0/+15
| | | | | | | | | | | | | | Just a stub. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add new callback for info ioctl register accessorAlex Deucher2015-03-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This adds a callback for each asic family to determine what registers are allowed to be read back via the info ioctl. The idea here is to allow usermode to query things like GPU status registers or GPU harvest registers for profiling and determining the gfx config. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add INFO query for current sclk/mclkAlex Deucher2015-03-192-0/+16
| | | | | | | | | | | | | | | | Allow the UMDs to query the current sclk/mclk for profiling, etc. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/kv: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+27
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/tn: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+29
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/sumo: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+32
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/ci: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+18
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/si: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+40
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/ni: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+40
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: remove some rv7xx leftovers from btc dpm codeAlex Deucher2015-03-191-7/+2
| | | | | | | | | | | | | | Some copy paste leftovers. No functional change. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/btc: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+50
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/rv7xx/eg: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+50
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/rv6xx: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+50
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/rs780: implement get_current_sclk/mclkAlex Deucher2015-03-193-0/+26
| | | | | | | | | | | | | | Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon/dpm: add new callbacks to get the current sclk/mclkAlex Deucher2015-03-191-0/+4
| | | | | | | | | | | | | | Needed to to expose the current clocks via the INFO ioctl. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add INFO query for GPU temperatureAlex Deucher2015-03-192-0/+8
| | | | | | | | | | | | | | Useful for profiling. Tested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: dont switch vt on suspendMaarten Lankhorst2015-03-191-0/+1
| | | | | | | | | | | | Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: setup quantization_range in AVI infoframeAlex Deucher2015-03-191-0/+24
| | | | | | | | | | | | | | | | | | | | If the display supports selectable range, set the range based on what the user has selected for output csc. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: implement output csc property for DCE5+Alex Deucher2015-03-194-1/+61
| | | | | | | | | | | | | | | | | | | | Implement the property for DCE5+ asics. Older asics require a slightly more complex process. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * drm/radeon: add an output_csc propertyAlex Deucher2015-03-192-0/+22
|/ | | | | | | | | | | | | | | | | This adds the drm property for output csc (e.g., transform of output display colorspace). Currently only common ones (TV RGB, BT.601, BT.709) are supported, but bypass and tv rgb are really the only useful ones at the moment. Additionally we could expose a user adjustable matrix in the future. This commit just adds the property. The hw support will be added in subsequent patches. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
OpenPOWER on IntegriCloud