Commit Graph

413 Commits

Author SHA1 Message Date
Xu Yang
30f2ccc513 drm/msm/sde: Support PA dither feature
Support PA dither feature in DSPP to add more precision to the
original integral LUTV value, which improves quality for ABA
features. Change adds property for the feature and implements
AHB path with version 1.7.

Change-Id: I7d4a7816d91691af440366b156ddff941a669c59
Signed-off-by: Xu Yang <yangxu@codeaurora.org>
2018-02-06 15:56:54 +08:00
Ajay Singh Parmar
4c4c21682b drm/msm: add HDR EOTF values
Define HDR (High Dynamic Range) EOTF (Electro-Optical Transfer Function)
standard values that can be used by user modules.

Change-Id: I34b75630df8c668e37bdf3e23fa78b35f1d18560
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-11-27 16:59:30 -08:00
Ajay Singh Parmar
e927aa479b drm/msm: pass the HDR metadata sent from userspace to sink
Use metadata information sent from userspace to configure sink.

This info is used later on to program the HDMI specific
infoframe registers.

CRs-Fixed: 2110071
Change-Id: I26634452d8c3ab7ab49a65e89ad52a3961c64855
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-11-01 00:33:20 -07:00
Srikanth Rajagopalan
30384d1120 drm/msm: add sink capabilities for HDR support
Populate HDR sink capabilities to a DRM blob.

These capabilities are used by the userspace
to calculate the sink HDR properties and set them.

CRs-Fixed: 2110071
Change-Id: I7c2dbca375c456052ad73889b011553090bcf8f1
Signed-off-by: Srikanth Rajagopalan <rasrik@codeaurora.org>
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-11-01 00:32:42 -07:00
Linux Build Service Account
411a7a1188 Merge "Merge remote-tracking branch '4.9/tmp-05a906d' into msm-4.9" 2017-10-24 19:57:25 -07:00
Kyle Yan
1bca48ef39 Merge remote-tracking branch '4.9/tmp-05a906d' into msm-4.9
* 4.9/tmp-05a906d:
  Linux 4.9.56
  Revert "socket, bpf: fix possible use after free"
  Linux 4.9.55
  KVM: x86: fix singlestepping over syscall
  f2fs: don't allow encrypted operations without keys
  ext4: don't allow encrypted operations without keys
  ext4: Don't clear SGID when inheriting ACLs
  ext4: fix data corruption for mmap writes
  vfs: deny copy_file_range() for non regular files
  sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
  mmc: core: add driver strength selection when selecting hs400es
  nvme-pci: Use PCI bus address for data/queues in CMB
  drm/i915/bios: ignore HDMI on port A
  brcmfmac: setup passive scan if requested by user-space
  brcmfmac: add length check in brcmf_cfg80211_escan_handler()
  scsi: sd: Do not override max_sectors_kb sysfs setting
  iwlwifi: add workaround to disable wide channels in 5GHz
  iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
  netlink: fix nla_put_{u8,u16,u32} for KASAN
  rocker: fix rocker_tlv_put_* functions for KASAN
  HID: wacom: bits shifted too much for 9th and 10th buttons
  HID: wacom: Always increment hdev refcount within wacom_get_hdev_data
  HID: wacom: leds: Don't try to control the EKR's read-only LEDs
  HID: i2c-hid: allocate hid buffers for real worst case
  ftrace: Fix kmemleak in unregister_ftrace_graph
  stm class: Fix a use-after-free
  Drivers: hv: fcopy: restore correct transfer length
  driver core: platform: Don't read past the end of "driver_override" buffer
  percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
  powerpc/tm: Fix illegal TM state in signal handler
  powerpc/64s: Use emergency stack for kernel TM Bad Thing program checks
  socket, bpf: fix possible use after free
  net: rtnetlink: fix info leak in RTM_GETSTATS call
  tipc: use only positive error codes in messages
  ip6_tunnel: update mtu properly for ARPHRD_ETHER tunnel device in tx path
  ip6_gre: ip6gre_tap device should keep dst
  netlink: do not proceed if dump's start() errs
  net: Set sk_prot_creator when cloning sockets to the right proto
  packet: only test po->has_vnet_hdr once in packet_snd
  packet: in packet_do_bind, test fanout with bind_lock held
  net: dsa: Fix network device registration order
  tun: bail out from tun_get_user() if the skb is empty
  l2tp: fix race condition in l2tp_tunnel_delete
  l2tp: Avoid schedule while atomic in exit_net
  vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
  net: qcom/emac: specify the correct size when mapping a DMA buffer
  net_sched: always reset qdisc backlog in qdisc_reset()
  isdn/i4l: fetch the ppp_write buffer in one shot
  bpf: one perf event close won't free bpf program attached by another perf event
  packet: hold bind lock when rebinding to fanout hook
  net: emac: Fix napi poll list corruption
  tcp: fastopen: fix on syn-data transmit failure
  net/sched: cls_matchall: fix crash when used with classful qdisc
  ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline
  net: phy: Fix mask value write on gmii2rgmii converter speed register
  ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
  udpv6: Fix the checksum computation when HW checksum does not apply
  tcp: fix data delivery rate
  bpf/verifier: reject BPF_ALU64|BPF_END
  tcp: update skb->skb_mstamp more carefully
  sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
  net: sched: fix use-after-free in tcf_action_destroy and tcf_del_walker
  mlxsw: spectrum: Prevent mirred-related crash on removal
  ALSA: usx2y: Suppress kernel warning at page allocation failures
  Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members"
  ALSA: compress: Remove unused variable
  lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
  lib/ratelimit.c: use deferred printk() version
  mm, oom_reaper: skip mm structs with mmu notifiers
  staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist
  uwb: ensure that endpoint is interrupt
  uwb: properly check kthread_run return value
  iio: adc: mcp320x: Fix oops on module unload
  iio: adc: mcp320x: Fix readout of negative voltages
  iio: ad7793: Fix the serial interface reset
  IIO: BME280: Updates to Humidity readings need ctrl_reg write!
  iio: core: Return error for failed read_reg
  staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
  iio: ad_sigma_delta: Implement a dedicated reset function
  iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
  iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
  Revert "xhci: Limit USB2 port wake support for AMD Promontory hosts"
  xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor
  xhci: Fix sleeping with spin_lock_irq() held in ASmedia 1042A workaround
  xhci: fix finding correct bus_state structure for USB 3.1 hosts
  USB: fix out-of-bounds in usb_set_configuration
  usb: Increase quirk delay for USB devices
  USB: core: harden cdc_parse_cdc_header
  USB: uas: fix bug in handling of alternate settings
  USB: g_mass_storage: Fix deadlock when driver is unbound
  usb: gadget: mass_storage: set msg_registered after msg registered
  USB: devio: Don't corrupt user memory
  USB: dummy-hcd: Fix erroneous synchronization change
  USB: dummy-hcd: fix infinite-loop resubmission bug
  USB: dummy-hcd: fix connection failures (wrong speed)
  USB: cdc-wdm: ignore -EPIPE from GetEncapsulatedResponse
  usb: pci-quirks.c: Corrected timeout values used in handshake
  ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
  usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
  usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
  usb-storage: fix bogus hardware error messages for ATA pass-thru devices
  usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
  usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe()
  usb: gadget: udc: renesas_usb3: fix Pn_RAMMAP.Pn_MPKT value
  usb: gadget: udc: renesas_usb3: fix for no-data control transfer
  usb: gadget: udc: atmel: set vbus irqflags explicitly
  USB: gadgetfs: fix copy_to_user while holding spinlock
  USB: gadgetfs: Fix crash caused by inadequate synchronization
  Linux 4.9.54
  s390/mm: make pmdp_invalidate() do invalidation only
  ttpci: address stringop overflow warning
  ALSA: au88x0: avoid theoretical uninitialized access
  ASoC: rt5660: remove double const
  ASoC: rt5659: drop double const
  ASoC: rt5514: fix gcc-7 warning
  ARM: remove duplicate 'const' annotations'
  IB/qib: fix false-postive maybe-uninitialized warning
  tools/power turbostat: bugfix: GFXMHz column not changing
  ARM: dts: BCM5301X: Fix memory start address
  libata: transport: Remove circular dependency at free time
  ASoC: wm_adsp: Return an error on write to a disabled volatile control
  xfs: remove kmem_zalloc_greedy
  i2c: meson: fix wrong variable usage in meson_i2c_put_data
  netfilter: nf_tables: set pktinfo->thoff at AH header if found
  md/raid10: submit bio directly to replacement disk
  rds: ib: add error handle
  mm/cgroup: avoid panic when init with low memory
  iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
  x86/acpi: Restore the order of CPU IDs
  cpufreq: intel_pstate: Update pid_params.sample_rate_ns in pid_param_set()
  ibmvnic: Free tx/rx scrq pointer array when releasing sub-crqs
  nfs: make nfs4_cb_sv_ops static
  parisc: perf: Fix potential NULL pointer dereference
  netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
  nvme-rdma: handle cpu unplug when re-establishing the controller
  MIPS: smp-cps: Fix retrieval of VPE mask on big endian CPUs
  exynos-gsc: Do not swap cb/cr for semi planar formats
  iommu/exynos: Block SYSMMU while invalidating FLPD cache
  MIPS: IRQ Stack: Unwind IRQ stack onto task stack
  netfilter: invoke synchronize_rcu after set the _hook_ to NULL
  drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
  kasan: do not sanitize kexec purgatory
  hugetlbfs: initialize shared policy as part of inode allocation
  sata_via: Enable hotplug only on VT6421
  Btrfs: fix potential use-after-free for cloned bio
  Btrfs: fix segmentation fault when doing dio read
  bridge: netlink: register netdevice before executing changelink
  mmc: sdio: fix alignment issue in struct sdio_func
  qed: Fix possible system hang in the dcbnl-getdcbx() path.
  net: dsa: b53: Include IMP/CPU port in dumb forwarding mode
  udp: disable inner UDP checksum offloads in IPsec case
  usb: plusb: Add support for PL-27A1
  team: fix memory leaks
  net/packet: check length in getsockopt() called with PACKET_HDRLEN
  net: core: Prevent from dereferencing null pointer when releasing SKB
  lkdtm: Fix Oops when unloading the module
  mips: ath79: clock:- Unmap region obtained by of_iomap
  MIPS: Lantiq: Fix another request_mem_region() return code check
  HID: wacom: release the resources before leaving despite devm
  drm: mali-dp: Fix transposed horizontal/vertical flip
  drm: mali-dp: Fix destination size handling when rotating
  ASoC: dapm: fix some pointer error handling
  rtl8xxxu: Add additional USB IDs for rtl8192eu devices
  usb: chipidea: vbus event may exist before starting gadget
  iommu/arm-smmu: Set privileged attribute to 'default' instead of 'unprivileged'
  spi: pxa2xx: Add support for Intel Gemini Lake
  ath10k: prevent sta pointer rcu violation
  audit: log 32-bit socketcalls
  ASoC: dapm: handle probe deferrals
  partitions/efi: Fix integer overflow in GPT size calculation
  sfc: get PIO buffer size from the NIC
  USB: serial: mos7840: fix control-message error handling
  USB: serial: mos7720: fix control-message error handling
  drm/amdkfd: fix improper return value on error
  arm: dts: mt2701: Add subsystem clock controller device nodes
  IB/ipoib: Replace list_del of the neigh->list with list_del_init
  IB/ipoib: rtnl_unlock can not come after free_netdev
  IB/ipoib: Fix deadlock over vlan_mutex
  serial: 8250_port: Remove dangerous pr_debug()
  tty: goldfish: Fix a parameter of a call to free_irq
  serial: 8250: moxa: Store num_ports in brd
  drm/i915/psr: disable psr2 for resolution greater than 32X20
  ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
  IB/rxe: Fix a MR reference leak in check_rkey()
  IB/rxe: Add a runtime check in alloc_index()
  iio: adc: hx711: Add DT binding for avia,hx711
  iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
  iio: adc: imx25-gcq: Fix module autoload
  hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
  usb: make the MTK XHCI driver compile for older MIPS SoCs
  clk/axs10x: Clear init field in driver probe
  sh_eth: use correct name for ECMR_MPDE bit
  reset: ti_syscon: fix a ti_syscon_reset_status issue
  extcon: axp288: Use vbus-valid instead of -present to determine cable presence
  igb: re-assign hw address pointer on reset after PCI error
  ARM: dts: am335x-chilisom: Wakeup from RTC-only state by power on event
  scsi: be2iscsi: Add checks to validate CID alloc/free
  power: supply: axp288_fuel_gauge: Fix fuel_gauge_reg_readb return on error
  MIPS: ralink: Fix incorrect assignment on ralink_soc
  MIPS: ralink: Fix a typo in the pinmux setup.
  MIPS: Ensure bss section ends on a long-aligned address
  ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
  RDS: RDMA: Fix the composite message user notification
  clk: sunxi-ng: fix PLL_CPUX adjusting on H3
  ARM: dts: exynos: Add CPU OPPs for Exynos4412 Prime
  drm/i915: Fix the overlay frontbuffer tracking
  GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
  drm: bridge: add DT bindings for TI ths8135
  drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
  FROMLIST: binder: fix use-after-free in binder_transaction()
  FROMLIST: binder: fix an ret value override
  FROMLIST: binder: fix memory corruption in binder_transaction binder

Conflicts:
	mm/oom_kill.c
	sound/usb/card.c

Change-Id: I8b32fbdaa2be959a4149cf07d0bda16b75eeacbc
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-10-19 12:05:22 -07:00
Linux Build Service Account
69ec4cc619 Merge "drm/msm/sde: Add support for dspp pa memcolor features" 2017-10-13 02:21:57 -07:00
Linux Build Service Account
b2ec613d79 Merge "drm/msm/sde: Add support for dspp pa hsic features" 2017-10-13 02:21:56 -07:00
Kristian H. Kristensen
7df306f106 drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
[ Upstream commit af913418261d6d3e7a29f06cf35f04610ead667c ]

We need to define DRM_FORMAT_MOD_VENDOR_NONE for the fourcc_mod_code()
macro to work correctly.

Signed-off-by: Kristian H. Kristensen <hoegsberg@google.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1481657272-25975-1-git-send-email-hoegsberg@google.com
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-08 10:26:02 +02:00
Linux Build Service Account
4174abef45 Merge "drm/msm/sde: refer to IRQ state when enable/disable AD IRQ" 2017-10-05 03:59:28 -07:00
Xu Yang
056d39b7ff drm/msm/sde: add support for histogram properties
PA histogram feature is needed for ABA features in display
postprocessing. Change adds histogram control property to
enable and disable histogram feature. Add histogram interrupt
property to enable histogram interrupt notification. Add
histogram operation support to control histogram feature and
read histogram data for version 1.7.

Change-Id: Ifee38b42e4322f703406fe2468d960e6b174fffc
Signed-off-by: Xu Yang <yangxu@codeaurora.org>
2017-09-27 14:55:24 +08:00
Sandeep Panda
98d6ab21b5 drm/msm: create ESD worker thread to check panel status
Create ESD worker thread which periodically checks for
panel status. If panel health check is successful then
reschedule the work to be executed after a predefined delay.
If panel does not respond then PANEL_DEAD will reported to
user space to trigger the recovery procedure.

Change-Id: I58ab04dabd47b07ef6df80bdb9b22c20e087deec
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2017-09-27 10:11:43 +05:30
Rajesh Yadav
7b8fbae98b drm/msm/sde: Add support for dspp pa memcolor features
Change adds support for dspp pa memcolor feature to
color processing module present in CRTC.

Change-Id: Iadff377a9914c1567c0d8329e229380d77555952
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
2017-09-22 17:55:13 +05:30
Rajesh Yadav
0a92eead0e drm/msm/sde: Add support for dspp pa sixzone features
Change adds support for dspp pa sixzone feature to
color processing module present in CRTC.

Change-Id: Ib957ae417d0199053758d97431356f7596887ec5
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
2017-09-22 17:55:13 +05:30
Rajesh Yadav
284947c25e drm/msm/sde: Add support for dspp pa hsic features
Change adds support for dspp pa hsic feature to
color processing module present in CRTC.

Change-Id: I6c846df5812c4773edacdbba264fc23c078bce34
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
2017-09-22 17:55:05 +05:30
Sravanthi Kollukuduru
0dca309cfe drm: uapi: add destination scaler interface
Added interface for the user space to provide the number of
destination scalers to be configured along with the configuration.
Configuration includes flags, new mixer width and height,
destination scaler block index and parameters.

Change-Id: I6e80b4fcaad99d6f4e75885a1cf556ba88b3a632
Signed-off-by: Sravanthi Kollukuduru <skolluku@codeaurora.org>
2017-09-13 17:27:07 +05:30
Linux Build Service Account
d59936f6b5 Merge "drm/msm/sde: add secure fb translation mode for writeback" 2017-08-27 21:54:24 -07:00
Linux Build Service Account
0ddec51f00 Merge "drm/msm/sde: add support for idle timeout feature" 2017-08-26 21:54:50 -07:00
Alan Kwong
03b8984202 drm/msm/sde: add secure fb translation mode for writeback
Add secure fb translation mode property to writeback connector
to support secure writeback. Writeback buffer can be non-secure
and secure.

Change-Id: Icdf915a139eb508db76a58cd2f1f58b2943bc541
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2017-08-22 10:51:15 -04:00
Sravanthi Kollukuduru
59d431a202 drm/msm/sde: add support for idle timeout feature
Added new crtc property to set the idle time duration in ms
and a custom event for idle timeout notification.

Change-Id: I69a4ab6d3497f5d33d407f4ab32cc4bd44a8e307
Signed-off-by: Sravanthi Kollukuduru <skolluku@codeaurora.org>
2017-08-22 18:40:01 +05:30
Ping Li
c057d9d310 drm/msm/sde: correct scale offset for some gamut modes
Different gamut modes uses different scale/offset registers, and the
size of the scale/offset registers are also different.
This change corrects the scale/offset register selection for gamut
5x5x5 and 13x13x13b modes.

Change-Id: I219f4a1b27e3e7485b71749cedc2af4a321f42f1
Signed-off-by: Ping Li <pingli@codeaurora.org>
2017-08-08 10:42:10 -07:00
Linux Build Service Account
b1c7d33726 Merge "drm/msm/sde: Add support for dspp pcc v4 feature" 2017-07-20 06:39:58 -07:00
Linux Build Service Account
45f918be5a Merge "drm/msm/sde: Add AHB based programming support for igc feature" 2017-07-20 06:39:58 -07:00
Benjamin Chan
9013910627 drm/msm/sde: provide sde power notification support
Generates sde power on/off custom notification events to usermode.
Usermode driver needs to register for the new custom event
DRM_EVENT_SDE_POWER in order to receive the notification.

Change-Id: Id26862d2fb4ecb77c4906a0426dea6950ae6a955
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2017-07-17 11:03:49 -04:00
Rajesh Yadav
d490cb64ec drm/msm/sde: Add support for dspp pcc v4 feature
Change adds the LutDMA based pcc v4 feature support
to color processing module present in CRTC.

Change-Id: Iaea2bcadef55956729551580a5277253700f35ac
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
2017-07-14 16:39:38 +05:30
Rajesh Yadav
ec93afbae9 drm/msm/sde: Add support for dspp igc feature
Change adds the LutDMA based igc feature support
to color processing module present in CRTC.
Change also adds multiple opcode support in single
command descriptor for LutDMA.

Change-Id: I87e43ce82b9b33a29d30bef7f3187d3df36e6e9e
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
2017-07-14 16:16:13 +05:30
Linux Build Service Account
542f9005fe Merge "drm/msm/sde: Add dither feature support" 2017-07-09 06:50:17 -07:00
Abhijit Kulkarni
50d69440b7 drm/msm/sde: add secure use case properties
This change adds custom PLANE(fb_translation_mode) and
CRTC(security_level) properties for supporting secure use case.
Plane property identifies the translation requirement for the
framebuffer. CRTC property specifies what planes could be attached
to this CRTC.

CRs-Fixed: 2050484
Change-Id: Iea59027d4bee536c8554e3955723982a6fc361dd
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2017-07-07 10:42:42 -07:00
Ping Li
8430ee1915 drm/msm/sde: Add dither feature support
Add dither feature interface for default panel dither config and user
dither config.

Change-Id: I2e67a9f1372355724c380e9643921025bf98fc97
Signed-off-by: Ping Li <pingli@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2017-06-30 11:55:21 -07:00
Stephen Boyd
07c5e74d03 drm: msm: Remove stddef.h include from uapi
Having this include here causes sparse to spew an error about
including a file outside of the kerenel repo. There's a
linux/stddef.h file that could be included instead, but things
compile without this include anyway so just remove it.

Change-Id: I320bc9aa23c4e8d75a689efb4c4d0dd2db5e150b
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-06-14 08:48:52 -07:00
Padmanabhan Komanduru
bb107cf5f1 drm: edid: add support for parsing additional EDID blocks
Currently the DRM upstream EDID parser doesn't have support to
parse all EDID blocks such as extension tag blocks.

Add support for parsing these blocks and extract necessary info.

Change-Id: Iae92de79960f6f0e73a8e2ff7944c1bf101d90a6
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2017-05-24 02:49:15 -07:00
Gopikrishnaiah Anandan
8b1498ab92 drm: msm: sde: Fix 3d gamut programming sequence
Elements in the struct drm_msm_3d_col needs to be swapped for efficient
programming using the reg dma block. Change swaps the fields in uapi
header and fix couple of issues with disable sequence.

Change-Id: Ieb6f80f4017305ac19a9fb3babfa28f718eda483
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2017-05-22 16:10:27 -07:00
Gopikrishnaiah Anandan
84b4f67013 drm: msm: Add support AD4 custom event notifications
SDM845 target supports AD4 feature. User-space client of AD4 driver
needs to be notified of system back-light notifications, suspend/resume
events. Change adds support in sde display driver for notify the events.

Change-Id: Ia2fbae75cc66389145292082c46d3bd16653e941
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2017-05-19 18:26:56 -07:00
Clarence Ip
90b282d5b3 drm/msm/sde: add connector support for power modes
This change enables a new LP property to specify panel specific
low power modes. This is needed to differentiate between normal
panel "on" and "on but low power" scenarios, something that
is not available through the standard DRM DPMS property.

The sde connector calculates a consolidated "power mode" setting
between the DPMS and LP properties and provides a callback to
the underlying display driver(s) whenever one of them is updated.

CRs-Fixed: 2027543
Change-Id: If5c80ac9eefbf1f119bcae5513ae18c7be6f618d
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-05-05 16:10:56 -07:00
Lloyd Atkinson
8ba4703935 drm/msm/sde: partial update of display output
Analyze the connector and crtc regions of interest and modify
the layer mixer output to match the user's desired output roi.
This patch adds SDE support for ROIs that are centered and
symmetric around the layer mixer split point.

Change-Id: I681a8e191a542b74b84fdb0d6d3542de3f332355
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
2017-04-26 06:11:52 -07:00
Lloyd Atkinson
f76121a8ba drm/msm: add DRM_IOCTL_MSM_RMFB2
Add new remove framebuffer ioctl that simply unreferences the
given framebuffer instead of triggering a shutdown of the CRTC
if the buffer is in active use. This allows the user space to
proactively unref the buffer without triggering an unwanted
shutdown.

Change-Id: Iac06985d069989b28affcf620d4e3feba6d07644
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
2017-04-13 12:56:15 -07:00
Gopikrishnaiah Anandan
de2c81b130 drm/msm: add support for custom event notification
SDE hardware supports custom events which needs to be reported by driver
to user-space clients who request for notification. DRM framework
provides poll/read based interface to report the events to the
user-space clients. Change adds support to report msm driver events to
user-space clients.

Change-Id: I4ce75488ad1d1436cafb3451ebc7808961c6cab5
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2017-04-04 10:10:13 -07:00
Alan Kwong
4fc006e60e drm/msm/sde: add support for a5x tile pixel formats
Add new modifier for a5x tile and support for a5x tile
pixel format layout calculation.

CRs-Fixed: 2009714
Change-Id: If0d1d6ba8d8d3e36dd5d5aef4a9b217d8e5779ba
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2017-03-29 06:51:14 -07:00
Jordan Crouse
1023e9bcd1 drm/msm: Remove DRM_MSM_NUM_IOCTLS
The ioctl array is sparsely populated but the compiler will make sure
that it is sufficiently sized for all the values that we have so we
can safely use ARRAY_SIZE() instead of having a constantly changing
#define in the uapi header.

Change-Id: Ic0dedbad39f30abb8ce340289089d2f3a5f6fe36
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-03-27 10:23:36 -07:00
Jordan Crouse
119a1ceacb drm/msm: Move QTI specific ioctls to avoid conflict
To avoid conflicting with upstream changes when upgrading the kernel
version, move QTI specific ioctls to start at command number 0x40.
This provides plenty of space for the upstream ioctl list to grown
before there are conflicts.

Change-Id: Ic0dedbadad9d3a24467f3d5992104754e31cd769
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-03-27 10:23:31 -07:00
Kyle Yan
1d39b95ba0 Merge "drm/msm/sde: Add chromaticity values for HDR support" into msm-4.9 2017-03-25 04:00:04 -07:00
Ping Li
898b1bf8d0 drm/msm/sde: Add chromaticity values for HDR support
Add WRGB chromaticity values, peak brightness and blackness
level to panel information. This change also adds method to
parse these parameters from device tree and exposes them as
connector property.

Change-Id: I30dcebed85406a933afd007e56014c668901459e
Signed-off-by: Ping Li <pingli@codeaurora.org>
2017-03-23 12:02:03 -07:00
Gopikrishnaiah Anandan
1d9d000e54 drm/msm/sde: expose ad4 interface to clients
if sde supports assertive display block user-space clients can use the
interface exposed to program the block. Change creates an interface for
ad4 parameters.

Change-Id: Icf115a91397991f4498d39c657a8841065558450
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2017-03-21 16:01:03 -07:00
abeykun
1d4ff03914 drm/msm/sde: add tp10 compressed format support
Add MOD_QCOM_TIGHT modifier on top of DRM_FORMAT_NV12
base pixel format and update plane size calculation
to support compressed tp10 buffers.

Change-Id: I12eb9fecfd34d488eda92f6217b6ca51e466c6f6
Signed-off-by: Alexander Beykun <abeykun@codeaurora.org>
2017-02-16 13:07:28 -08:00
abeykun
adfec29cba drm/msm/sde: add p010 format support in sde
Add MOD_QCOM_DX modifier on top of DRM_FORMAT_NV12
base format and update plane size calculation to support
linear and compressed p010 buffers.

Change-Id: I93bd9557e5c4a4a038891f24730edbbec1dba262
Signed-off-by: Alexander Beykun <abeykun@codeaurora.org>
2017-02-16 13:07:27 -08:00
Gopikrishnaiah Anandan
aedb9867c7 drm/msm/sde: Expose pgc driver interface
MSM sde module supports gamma correction block. Driver exposes the
interface to user-space clients to program the block.

Change-Id: Ib12947d9aa4435f42d72a704fbac97e74b66353b
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2017-01-27 12:40:20 -08:00
Gopikrishnaiah Anandan
530f6015fa drm/sde/msm: Add support for 3d gamut interface
Change exposes the interface for 3d lut feature.On platforms where 3d
gamut is supported, user-space clients can program the feature with the
exposed interface.

Change-Id: I1866bb408a7e3092a1271a6ac585aa8b6c4b1bcb
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2017-01-27 12:35:47 -08:00
Veera Sundaram Sankaran
3171ff8fe2 drm/msm/sde: add dim layer support
Dim layer is a layer mixer feature added from SDE 4.0, where the
specified rect can be color filled in the LM output. It can be
configured for any stage, with the constraint that no other
pipes should be staged in that stage. Also, it would not work
along with src_split logic, so the dim layer should fall within
the LM boundaries.

Change-Id: I2d7f3d22ed51dbc8d8d8cffc7a12ed81f249ee9f
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2017-01-19 18:01:32 -08:00
abeykun
41060128fe drm/msm/sde: update pixel extension uapi
Patch changes pixel extension uapi to match FB driver and exposes
QSEED3 filter configuration defines.

Change-Id: Id5dba041df77d1c663742fcda74f420ca3d228f9
Signed-off-by: abeykun <abeykun@codeaurora.org>
2017-01-13 12:41:50 -08:00
Benet Clark
d009b1d3a4 drm/msm/sde: Add support for Memory Color in plane
Add support for skin, sky, and foliage memory color hardware in
planes which have color processing hardwares.

Change-Id: I9ec72f44f36939cae90215bc668f3186d140e8b8
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2017-01-13 12:41:47 -08:00