• Home
  • History
  • Annotate
  • only in /drivers/gpu/drm/msm/mdp/mdp4/
History log of /drivers/gpu/drm/msm/mdp/mdp4/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b2efb3f0a1db62aff5e824125785ec6731143b6d 16-Sep-2014 Dave Airlie <airlied@redhat.com> drm: backmerge tag 'v3.17-rc5' into drm-next

This is requested to get the fixes for intel and radeon into the
same tree for future development work.

i915_display.c: fix missing dev_priv conflict.
3e87599b68e7929a84a32ab65ad17b79a3f271f6 01-Aug-2014 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: add LVDS panel support

LVDS panel support uses the LCDC (parallel) encoder. Unlike with HDMI,
there is not a separate LVDS block, so no need to split things into a
bridge+connector. Nor is there is anything re-used with mdp5.

Note that there can be some regulators shared between HDMI and LVDS (in
particular, on apq8064, ext_3v3p), so we should not use the _exclusive()
variants of devm_regulator_get().

The drm_panel framework is used for panel-specific driver.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.c
dp4_kms.h
dp4_lcdc_encoder.c
dp4_lvds_connector.c
dp4_lvds_pll.c
d65bd0e431156f156f43946b6efb524694afb685 06-Aug-2014 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: fix blend setup with multiple crtcs

In particular, blend_setup() should not overwrite the other crtc's mixer
settings. Also, the encoder needs to be able to specify the mixer-id
explicitly, since both LVDS and DTV use 'INTF_LVDC_DTV', so we cannot
guess the mixer-id from the interface.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
dp4_dtv_encoder.c
dp4_kms.c
dp4_kms.h
f9a1ca5c4734ad0da68ab322c8e9b7eb0b63a789 01-Aug-2014 Rob Clark <robdclark@gmail.com> drm/msm: update generated headers

In particular, pick up the definitions for a handful of LVDS related
registers.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4.xml.h
dp4_kms.h
119ecb7fd3b5d072c2b29d4d030c623840554d71 04-Aug-2014 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: request vblank during modeset

This avoids a problem seen with weston (for example) where the display
gets stuck in "black screen" if starting weston first thing after boot.
Possibly mdp5 needs something similar. The downstream android fbdev
driver always requests DMA_E (or DMA_P) when display is active, rather
than only enabling it on-demand as the drm driver does, which I believe
has the same end result.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
944fc36c31ed685cf8d3d125eb681ae7198f06fc 10-Jul-2014 Rob Clark <robdclark@gmail.com> drm/msm: use upstream iommu

Downstream kernel IOMMU had a non-standard way of dealing with multiple
devices and multiple ports/contexts. We don't need that on upstream
kernel, so rip out the crazy.

Note that we have to move the pinning of the ringbuffer to after the
IOMMU is attached. No idea how that managed to work properly on the
downstream kernel.

For now, I am leaving the IOMMU port name stuff in place, to simplify
things for folks trying to backport latest drm/msm to device kernels.
Once we no longer have to care about pre-DT kernels, we can drop this
and instead backport upstream IOMMU driver.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.c
036c17082adae0014c53dc2ff9e813abf13bc3b8 01-Jul-2014 Rob Clark <robdclark@gmail.com> drm/msm: fix BUG_ON() in error cleanup path

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.c
e8abb5b5f4a6894d8ecf227de5d9bb6570e399ff 01-Jul-2014 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: add mdp axi clk

Downstream kernel holds this clk via a fake-parent relationship.
Upstream clock framework requires that we hold it explicitly.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.c
dp4_kms.h
89301471e6bf942c026d6ebfcbc9a6a937cc6865 25-Jun-2014 Rob Clark <robdclark@gmail.com> drm/msm: update generated headers

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4.xml.h
41e69778c80764c12683beff5ebef12298a5d16b 15-Dec-2013 Rob Clark <robdclark@gmail.com> drm/msm: DT support for 8960/8064 (v3)

Now that we (almost) have enough dependencies in place (MMCC, RPM, etc),
add necessary DT support so that we can use drm/msm on upstream kernel.

v2: update for review comments
v3: rebase on component helper changes

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.c
814cb96fdc91495e13be7569dca43b7c1043ad2a 02-Jun-2014 Rob Clark <robdclark@gmail.com> drm/msm: remove redundant private plane cleanup

Now that drm core knows about private planes, it cleans them up for us.
Trying to do this twice results in badness.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
7d8d9f670513593377cd1442f987ce03a64ba55d 22-Apr-2014 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: cure for the cursor blues (v2)

The hw cursor is relatively adept at triggering underflows, which
manifest as a "blue flash" (since blue is configured as the underflow
color). Juggle a few things around to tighten up the timing for setting
cursor registers in DONE irq.

And most importantly, don't ever disable the hw cursor. Instead flip it
to a blank/empty cursor. This seems far more reliable, as even simply
clearing the cursor-enable bit (with no other updates in previous/
following frames) can in some cases cause underflow.

v1: original
v2: add missing locking spotted by Micah

Cc: Micah Richert <richert@braincorporation.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
dp4_irq.c
dp4_kms.c
dp4_kms.h
f4510a2752b75ad5847b7935b68c233cab497f97 02-Apr-2014 Matt Roper <matthew.d.roper@intel.com> drm: Replace crtc fb with primary plane fb (v3)

Now that CRTC's have a primary plane, there's no need to track the
framebuffer in the CRTC. Replace all references to the CRTC fb with the
primary plane's fb.

This patch was generated by the Coccinelle semantic patching tool using
the following rules:

@@ struct drm_crtc C; @@
- (C).fb
+ C.primary->fb

@@ struct drm_crtc *C; @@
- (C)->fb
+ C->primary->fb

v3: Generate patch via coccinelle. Actual removal of crtc->fb has been
moved to a subsequent patch.

v2: Fixup several lingering crtc->fb instances that were missed in the
first patch iteration. [Rob Clark]

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
2d82d188b2cb11b6b221eb84dda2344ef3cd1bb4 02-Apr-2014 Matt Roper <matthew.d.roper@intel.com> drm/msm: Switch to universal plane API's

Use drm_universal_plane_init() and drm_crtc_init_with_planes() rather
than the legacy drm_plane_init() / drm_crtc_init(). This will ensure
that the proper primary plane is registered with the DRM (and eventually
exposed to userspace in future patches).

Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
dp4_plane.c
aa1b0e59d3096f4602afeb114a3b3be505889a26 13-Dec-2013 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: cursor fixes

It seems we need to update all cursor registers from vblank. This
appears to be the cause of intermittent underflows when enabling/
disabling cursor.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
b69720c0f5d417310fbfd59c2d681bd90430a4f5 13-Dec-2013 Rob Clark <robdclark@gmail.com> drm/msm/mdp4: pageflip fixes

Backport a few fixes found in the course of getting mdp5 working.
There is a window of time after pageflip is requested, before we
start scanning out the new fb (ie. while we are waiting for gpu).
During that time we need to continue holding a reference to the
still-current scanout fb, to avoid the backing gem bo's from being
destroyed.

Possibly a common mdp_crtc parent class could be useful to share
some of this logic between mdp4_crtc and mdp5_crtc. OTOH, this
all can be removed from the driver once atomic is in place, as
plane/crtc updates get deferred until all fb's are ready before
calling in to .page_flip(), etc.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
7896052d90d7de899fd3a34c0b34e91941e2f2ea 13-Dec-2013 Rob Clark <robdclark@gmail.com> drm/msm: fix inconsequential typo

Small typo I noticed in the mdp4_plane code.. no consequence because
PIPE_SRC_XY and PIPE_DST_XY have same register layout.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_plane.c
dada25bd22a52a4351357209a8c227070cfd406d 01-Dec-2013 Rob Clark <robdclark@gmail.com> drm/msm: add hdmi support for apq8x74/mdp5

The HDMI block is basically the same between older SoC's with mdp4
display controller, and newer ones with mdp5.

So mostly this consists of better abstracting out the different sets of
regulators, clks, etc. In particular, for regulators and clks we can
split it up by what is needed for hot plug detect to work, and what is
needed to light up the display.

Also, 8x74 has a new phy.. a very simple one, but split out into a
different mmio space. And with mdp5, the irq is shared with mdp, so we
don't directly register our own irq handler.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.c
9e0efa63565511dc75846e6b036a4b80e92b9a98 30-Nov-2013 Rob Clark <robdclark@gmail.com> drm/msm: move irq utils to mdp_kms

We'll want basically the same thing for mdp5, so refactor it out so it
can be shared.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
dp4_dtv_encoder.c
dp4_irq.c
dp4_kms.c
dp4_kms.h
dp4_plane.c
dd2da6e34672100b5fd811fbf2cf97e29c08080f 30-Nov-2013 Rob Clark <robdclark@gmail.com> drm/msm: split out msm_kms.h

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_kms.h
10a02eb64656e96579e136ae914d30093ca59e48 30-Nov-2013 Rob Clark <robdclark@gmail.com> drm/msm: mdp4_format -> mdp_format

This can be shared between mdp4 and mdp5. Both use the same set of
parameters to describe the format to the hw.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4_crtc.c
dp4_format.c
dp4_kms.c
dp4_kms.h
dp4_plane.c
facb4f4e7fae93ddfcfc2a5f2d0417185a7029ed 30-Nov-2013 Rob Clark <robdclark@gmail.com> drm/msm: resync generated headers

resync to latest envytools db, add mdp5 registers

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4.xml.h
dp4_crtc.c
dp4_kms.h
2e54a92ff2ec6cd70f748d990a3f6646f9b691f3 30-Nov-2013 Rob Clark <robdclark@gmail.com> drm/msm: move mdp4 -> mdp/mdp4

There are some little bits and pieces that mdp4 and mdp5 can share, so
move things around so that we can have both in a common parent
directory.

Signed-off-by: Rob Clark <robdclark@gmail.com>
dp4.xml.h
dp4_crtc.c
dp4_dtv_encoder.c
dp4_format.c
dp4_irq.c
dp4_kms.c
dp4_kms.h
dp4_plane.c