Commit graph

25671 commits

Author SHA1 Message Date
Camus Wong
d3fd31550b [drm/sde] fix uninitialized src/dst size in sde plane
SDE plane src/dst size is uninitialized and programmed to hw when
only color format is changed. This change will only configure hw
when src/dst size is calculated.

Change-Id: I5953f899a2c503b1d8f2577c28a67711b9ed9a67
Signed-off-by: Camus Wong <camusw@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
2018-04-05 23:52:59 -07:00
Linux Build Service Account
d83747f35c Merge "drm: msm: fix potential NULL pointer dereference" 2018-04-02 01:45:27 -07:00
Rahul Sharma
b86526c85e drm/msm: check hpd_off flag only for pluggable displays
This change will wrap the 'hpd_off' flag with pluggable displays.
In non-pluggable display case 'hpd_off' flag prevents disabling
of HPD clocks and hence display subsystem doesn't got into suspend
state.

Change-Id: I28ade8fb60a60a15f1d23009de63bbf9f10c7c77
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
2018-03-27 22:01:10 -07:00
Guchun Chen
f42176b693 drm: msm: fix potential NULL pointer dereference
Add checker before using pointers, to avoid NULL pointer
dereference happens.

CRs-Fixed: 2202957
Change-Id: I99930e1e9477130fcfceadad3f3a2ff5c9e89cda
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2018-03-27 12:37:35 +08:00
Camus Wong
bc5c74d801 DRM: SDE: Fixing the power up sequence with early splash
If the splash clean up is trigger, the MDP core power on call should
be skipped.  MDP core already turned on in sde_kms_hw_init() if splash
handoff enabled.

Change-Id: Ie19c4eb2d0455b0c19615e3bb29aae4b4c6c8abf
Signed-off-by: Camus Wong <camusw@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
2018-03-23 00:08:11 -07:00
Linux Build Service Account
ed6f6fd1c1 Merge "drm/msm: refine hdmi bridge implementation" 2018-03-22 12:23:13 -07:00
Linux Build Service Account
fc187e817f Merge "drm/msm/sde: store mdss irq status in case of irq storm" 2018-03-19 03:35:38 -07:00
Linux Build Service Account
0cf11fbe38 Merge "drm/msm/sde: take irq callback lock before reading cb list" 2018-03-19 03:35:36 -07:00
Linux Build Service Account
af36d13ab9 Merge "drm: smmu: fix smmu map failure" 2018-03-19 03:35:35 -07:00
Camus Wong
a4d84e9fa8 drm/msm: refine hdmi bridge implementation
This change fixes an unclocked hdmi register access while going
to suspend state.

When splash is enabled on HDMI interface & we are going to turn
on the hdmi bridge power. Context of sde_hdmi connector is found
to be NULL because connector was not initialized yet and we never
called sde_hdmi_core_enable which enables hpd clocks.

Now when going to suspend system would be calling clock unprepare
for clocks which were never enabled. Hence hdmi clock gets unbalanced
and resulted in unclocked access to one of the hdmi register during
disabling vblank.

Adding struct sde_hdmi as a member of struct sde_hdmi_bridge and remove
dependency on sde connector to get the hdmi display object.

Change-Id: If96324fd5152ab0e721dfd38e93a68321a615455
Signed-off-by: Camus Wong <camusw@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
2018-03-19 10:33:30 +05:30
Linux Build Service Account
6aaef91265 Merge "msm: kgsl: Add support for A509 GPU" 2018-03-17 03:13:18 -07:00
Lloyd Atkinson
c9b913882d drm/msm/sde: store mdss irq status in case of irq storm
Store the last MDSS IRQ status value to help identify the source
of any erroneous IRQs that might cause an IRQ storm. Also, check
return codes on IRQ mapping or handling and report any unhandled
IRQs to the IRQ system.

Change-Id: I585c97c01736216556eb389bda79548c1fda2b64
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
2018-03-16 17:26:58 -07:00
Lloyd Atkinson
3c6964a08c drm/msm/sde: take irq callback lock before reading cb list
Take the callback spinlock before checking whether the callback
table list is empty. This resolves a race condition where the
callback list could be empty during the servicing of an
interrupt.

Change-Id: I8d59c0211526173ce98c8ca2dac36ec4743dc8f8
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-16 17:26:21 -07:00
Lakshmi Narayana Kalavala
1f9861ad38 drm/msm: limit sde_dbg_dump output to current entries
Update the sde_dbg_dump function to only dump event log
entries up to the time the dump is initiated, and increase
the number of recorded event log entries.

This places a limit on the total number of entries that are
output to the dmesg log even if more entries would have been
added while the dump is executing (e.g., interrupt events),
while still allowing the extra events to be recorded properly.

Change-Id: I66f850d21a2d0217f9049facffce074831b7e17d
Signed-off-by: Clarence Ip <cip@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-16 17:25:34 -07:00
Lakshmi Narayana Kalavala
89ddcc12a1 drm/msm: add input sanitization on debug dump debugfs
Add checks to debugfs input parameters in sde debug dump debugfs
entries.

Change-Id: Iea170b75c1eb9aa46366662d36e677cb3251830b
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-16 17:24:54 -07:00
Lakshmi Narayana Kalavala
ac94b019c3 drm/msm/sde: add debugfs nodes for underruns debug
This change adds debugfs nodes for debugging underruns,
after this change following commands are supported:
1. To enable the underrun ftrace:
	echo 1 > /d/tracing/events/sde/sde_encoder_underrun/enable
2. To enable feature that disables the ftraces once the
	underrun happens:
	echo 1 > /d/dri/0/debug/dbg_ctrl
3. To enable the panic in the device when underrun happens:
	echo 2 > /d/dri/0/debug/dbg_ctrl
4. To enable both of the above options:
	echo 3 > /d/dri/0/debug/dbg_ctrl

Change-Id: Id9f407edb0908a5f8454f08d63c356dc8f04d353
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-16 17:23:52 -07:00
Linux Build Service Account
a915fa29fa Merge "drm/msm/sde: add validation checks for source split" 2018-03-16 01:55:52 -07:00
Linux Build Service Account
8353ae1eaf Merge "drm/msm: move display and event threads to realtime priority" 2018-03-16 01:55:49 -07:00
Linux Build Service Account
56fe93b3ca Merge "drm/msm: init enum properties to default value" 2018-03-15 05:43:39 -07:00
Linux Build Service Account
0ae3ca513a Merge "drm/msm/sde: propagate the cdm block length from the catalog" 2018-03-15 05:43:37 -07:00
Linux Build Service Account
91892844ac Merge "drm/msm/sde: add ubwc equivalent tile formats" 2018-03-15 05:43:25 -07:00
Linux Build Service Account
ab30123fe2 Merge "drm: msm: dsi: fix potential NULL pointer dereference" 2018-03-15 05:43:23 -07:00
Linux Build Service Account
0fcfb086fe Merge "Merge android-4.4.120 (d63fdf6) into msm-4.4" 2018-03-15 05:43:21 -07:00
Linux Build Service Account
65b05aeab8 Merge "drm/msm : add null check on framebuffer in cleanup" 2018-03-15 05:43:20 -07:00
Linux Build Service Account
2b52426fbf Merge "msm: kgsl: Fix XO shutdown issue" 2018-03-15 05:43:18 -07:00
Linux Build Service Account
58b0d29d48 Merge "drm: msm: dsi: fix local variable not initialized issue" 2018-03-15 05:42:51 -07:00
Linux Build Service Account
b542fae9ea Merge "drm/msm/sde: fix flush configuration for physical encoder" 2018-03-15 05:42:49 -07:00
Linux Build Service Account
05a93365d7 Merge "drm: msm: sde: fix potential NULL pointer dereference" 2018-03-15 05:42:43 -07:00
Suprith Malligere Shankaregowda
bf92ce5e7f msm: kgsl: Fix XO shutdown issue
This patch ensures device resumes successfully after
XO shutdown without any KGSL error.

Change-Id: I9eb8e281bc62793dc7521ba72aaeecf946860851
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
2018-03-14 07:46:40 -07:00
Guchun Chen
e453eb66bc drm: smmu: fix smmu map failure
In concurrency test, smmu map failure appears in a low possibility.
This is caused by virtual address conflict. Display driver calls
different smmu map APIs to do map with the same domain, while the
virtual address allocation happens separately, one in dmp-mapping.c,
and another one is in msm_gem_vam.c. This could not gurantee the
virtual addresses by different callers are different in the same
mmu domain, if they are the same, the virtual address will possibily
be mapped twice, hence conflict happens.

The change is to fix this:
1. Remove the map calling for early splash buffer from msm_smmu_map.
2. Introduce one new map API early_splash_map/unmap, dedicated for
memory mapping for early splash usercase.

CRs-Fixed: 2198827
Change-Id: I8e632f1971998a14c362b5bf0ae9a5522a5a1bff
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2018-03-14 11:48:38 +08:00
Rajesh Kemisetti
6e00230960 msm: kgsl: Add support for A509 GPU
Add new GPU ID and required initial settings
to support Graphics functionality on SDM636.

Change-Id: If8a801c20c7f60618797ccd440d2d739f6817708
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
2018-03-13 12:30:15 +05:30
Guchun Chen
2768f69bba drm: msm: sde: fix potential NULL pointer dereference
Pointer should be checked after returning from function or being
passed from other function. So add checker for this to avoid NULL
pointer dereference.

Change-Id: Ie86f47230b50433e08259ee5f6bbb52bedf749b1
CRs-Fixed: 2202957
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2018-03-13 13:46:27 +08:00
Guchun Chen
0932f23cdb drm: msm: dsi: fix local variable not initialized issue
Local variable in function should be initialized before using it.

Change-Id: I061b10913182ed11b7a8cdb1baab900ac7e10ea6
CRs-Fixed: 2202957
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2018-03-13 12:06:23 +08:00
Guchun Chen
e4cf6c8465 drm: msm: dsi: fix potential NULL pointer dereference
Add checker to confirm the pointer is not NULL first, to avoid
NULL pointer dereference happens.

Change-Id: Id9060725037be235303bbc0a82d91d3d2008245c
CRs-Fixed: 2202957
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2018-03-13 11:59:13 +08:00
Clarence Ip
777a58fa41 drm/msm: init enum properties to default value
Initialize DRM/KMS enumeration properties to the first
defined value rather than 0 since enumeration properties
are meant to store the actual value rather than simply
an enumeration index.

Change-Id: I23dd62308a2d3a45c763090b6f0557634ed49d63
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2018-03-09 14:28:51 -08:00
Camus Wong
654000d2d7 [drm-sde] remove additional release fence offset
Remove additional release fence offset to fix deadlock between
graphics and display when only two buffers are used.

Change-Id: Ifc94dae28484e13fae6cb9a7dfd19c1cb13c7c20
Signed-off-by: Camus Wong <camusw@codeaurora.org>
2018-03-09 16:20:40 -05:00
Lakshmi Narayana Kalavala
5d1c2b0226 drm/msm : add null check on framebuffer in cleanup
Add null check on pointer to fb before dereferencing.

CRs-Fixed: 2124966
Change-Id: Ic88aee498c432c8e9350f2d2fad538acd2a9b37f
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-09 12:28:08 -08:00
Lakshmi Narayana Kalavala
47f361f8fc drm/msm: move display and event threads to realtime priority
Display thread processes the work assigned by HAL for
screen update. Current logic selects the thread priority
to default and causes the frame drop. This patch moves
the display thread to realtime priority to process the display
work items at realtime. Event thread must follow the
display thread priority to avoid frame_pending counters
beyond 2.

Change-Id: I9154b749550cee52da1d16d22a8418676325e769
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-08 13:07:48 -08:00
Lakshmi Narayana Kalavala
4f2aa096ba drm/msm: support shutdown sequence on msm driver
Add shutdown sequence in msm driver to turn off
all connectors/bridge gracefully. That will allow
the graceful shutdown for dsi panel.

Change-Id: I055bd57a45706478c785b7a3c41bf7623dd8d2e7
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-08 13:07:14 -08:00
Lloyd Atkinson
9b8a81b479 drm/msm/sde: propagate the cdm block length from the catalog
Add the missing CDM block length parsed by the hardware catalog
into the hardware block data structure so that the debug dump
region can be properly registered.

Change-Id: I395164960484ede34a781785b4ed0e2a60ef0e50
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2018-03-08 13:03:23 -08:00
Alan Kwong
6cbd699203 drm/msm/sde: add ubwc equivalent tile formats
The tile format table is missing few ubwc equivalent formats.
Add those missing formats to the tile format table.

Change-Id: Ie5392f820a5a5f3a94405ab73d3c3f8a7efa0f9f
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2018-03-08 12:58:44 -08:00
Steve Cohen
8e17ebd285 drm/msm/sde: set the tile height for all supported formats
The sde_format structure contains a tile_height member which was
never initialized.  SmartDMA validation uses this field and expects
it to be set properly.

Change-Id: I87bb49e5bab63c33a8c01271ee1a38b3cb8372bc
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2018-03-08 12:58:07 -08:00
Linux Build Service Account
07324253e2 Merge "DRM: SDE: Fix potential buffer overflow in SDE encoder" 2018-03-08 04:27:51 -08:00
Srinivasarao P
22397c476f Merge android-4.4.120 (d63fdf6) into msm-4.4
* refs/heads/tmp-d63fdf6
  Linux 4.4.120
  MIPS: Implement __multi3 for GCC7 MIPS64r6 builds
  net: gianfar_ptp: move set_fipers() to spinlock protecting area
  sctp: make use of pre-calculated len
  xen/gntdev: Fix partial gntdev_mmap() cleanup
  xen/gntdev: Fix off-by-one error when unmapping with holes
  SolutionEngine771x: fix Ether platform data
  mdio-sun4i: Fix a memory leak
  xen-netfront: enable device after manual module load
  bnxt_en: Fix the 'Invalid VF' id check in bnxt_vf_ndo_prep routine.
  can: flex_can: Correct the checking for frame length in flexcan_start_xmit()
  mac80211: mesh: drop frames appearing to be from us
  drm/ttm: check the return value of kzalloc
  e1000: fix disabling already-disabled warning
  xfs: quota: check result of register_shrinker()
  xfs: quota: fix missed destroy of qi_tree_lock
  IB/ipoib: Fix race condition in neigh creation
  IB/mlx4: Fix mlx4_ib_alloc_mr error flow
  s390/dasd: fix wrongly assigned configuration data
  led: core: Fix brightness setting when setting delay_off=0
  bnx2x: Improve reliability in case of nested PCI errors
  tg3: Enable PHY reset in MTU change path for 5720
  tg3: Add workaround to restrict 5762 MRRS to 2048
  lib/mpi: Fix umul_ppmm() for MIPS64r6
  ARM: dts: ls1021a: fix incorrect clock references
  scsi: storvsc: Fix scsi_cmd error assignments in storvsc_handle_error
  net: arc_emac: fix arc_emac_rx() error paths
  spi: atmel: fixed spin_lock usage inside atmel_spi_remove
  drm/nouveau/pci: do a msi rearm on init
  sget(): handle failures of register_shrinker()
  ARM: 8731/1: Fix csum_partial_copy_from_user() stack mismatch
  ipv6: icmp6: Allow icmp messages to be looped back
  mtd: nand: gpmi: Fix failure when a erased page has a bitflip at BBM
  f2fs: fix a bug caused by NULL extent tree
  hrtimer: Ensure POSIX compliance (relative CLOCK_REALTIME hrtimers)
  ANDROID: keychord: Check for write data size
  Revert "binder: add missing binder_unlock()"
  Linux 4.4.119
  binder: add missing binder_unlock()
  drm/amdgpu: Avoid leaking PM domain on driver unbind (v2)
  usb: renesas_usbhs: missed the "running" flag in usb_dmac with rx path
  usb: gadget: f_fs: Process all descriptors during bind
  usb: ldusb: add PIDs for new CASSY devices supported by this driver
  usb: dwc3: gadget: Set maxpacket size for ep0 IN
  drm/edid: Add 6 bpc quirk for CPT panel in Asus UX303LA
  Add delay-init quirk for Corsair K70 RGB keyboards
  arm64: Disable unhandled signal log messages by default
  usb: ohci: Proper handling of ed_rm_list to handle race condition between usb_kill_urb() and finish_unlinks()
  irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq()
  x86/oprofile: Fix bogus GCC-8 warning in nmi_setup()
  iio: adis_lib: Initialize trigger before requesting interrupt
  iio: buffer: check if a buffer has been set up when poll is called
  cfg80211: fix cfg80211_beacon_dup
  scsi: ibmvfc: fix misdefined reserved field in ibmvfc_fcp_rsp_info
  ip_tunnel: fix preempt warning in ip tunnel creation/updating
  ip_tunnel: replace dst_cache with generic implementation
  PCI: keystone: Fix interrupt-controller-node lookup
  powerpc/64s: Fix RFI flush dependency on HARDLOCKUP_DETECTOR
  netfilter: drop outermost socket lock in getsockopt()
  ANDROID: sdcardfs: Set num in extension_details during make_item

Conflicts:
	drivers/usb/gadget/function/f_fs.c

Change-Id: I594b9686fd64d4b62ebef4452d4f1ccca4f5a77b
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
2018-03-08 17:53:30 +05:30
Linux Build Service Account
ef0769db30 Merge "Merge android-4.4.118 (5f7f76a) into msm-4.4" 2018-03-07 09:16:32 -08:00
Linux Build Service Account
296628bc78 Merge "Merge android-4.4.117 (4ec3656) into msm-4.4" 2018-03-07 09:16:31 -08:00
Linux Build Service Account
d30c02ed5b Merge "Merge android-4.4.116 (20ddb25) into msm-4.4" 2018-03-07 09:16:30 -08:00
Linux Build Service Account
834739e911 Merge "drm/msm-hyp: overwrite hyp ioctls used by libgbm" 2018-03-06 20:57:58 -08:00
Linux Build Service Account
df41a54a67 Merge "drm/msm: HPD_OFF Property for SDE HDMI Connector" 2018-03-06 20:57:50 -08:00
Jeykumar Sankaran
240bc58d6a drm/msm/sde: add validation checks for source split
Planes configured on the same blend stage must be
contiguous by their destination width, same destination
height and yoffsets. This changes validates the source
split pair before staging them.

Change-Id: I6e77b48a29477c4594e4693d1be95f91b73f1ed2
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2018-03-06 14:22:32 -08:00