Merge commit '4e009b46279997c3c962c2690d57f244d737f50d' from AU122 into msm-4.14

* commit '4e009b46279997c3c962c2690d57f244d737f50d':
  rpmsg: glink: spi: increment channel ref count before intent request
  ARM: dts: msm: set panel default mode for qrd trinket
  msm: ipa: Update smmu enabled condition
  ARM: dts: msm: Add ATP platform support for sdmmagpiep
  usb: pd: Register dual_role based on connector type
  msm: camera_v2: Reset CPP AXI at camera close
  ARM: dts: msm: Add slew rate registers for sm6150.
  soc: qcom: Reset string table index for each dump collection request
  tcp: Reset tcp connections in SYN-SENT state
  msm: ipa: Pad IPA FnR rule extra word only when needed
  ARM: dts: msm: Add support for USB HS AC/DC coupling on SA6155
  msm: ipa: DL Checksum offload changes
  msm: ipa: IPA IS_APPS_CONS MACRO changes
  msm: ipa4: Support Pure ACK eq on IPA_HW 4.5 or greater
  defconfig: sa8155: enable asm330 sensor module
  ARM: dts: msm: Mitigate modem during low state of charge in sm8150
  msm: ipa3: Fix if condition with the correct check
  msm: camera: isp: Fix drop frame due to reg update miss
  soc: qcom: rpmh_master_stat: Add island stats support
  msm: mhi_dev: Skip channel doorbell interrupts on unused channels
  msm: mhi_dev: Move PCIE-EP and MHI drivers to subsys_init
  msm: mhi_dev: Use disable_irq_nosync to disable MHI A7 irq
  msm: mhi_dev: Set correct transfer length in completion events
  qcom-geni-se: Convert agrregate ab/ib into actual bandwidth
  ARM: dts: msm: Added IPA entry to support endpoint delay workaround
  msm: ipa3: Fix to avoid setting endpoint delay in IPA 4.2/4.5 HW
  mmc: core: Fix clock scaling's init error checking
  ARM: dts: msm: disable L1 and L1ss for qca6390 device
  cnss2: add support to disable L1 and L1ss
  defconfig: Enable QCOM-SPS-DMA driver for sdxprairie
  ARM: dts: msm: Update cpu TSENS mapping for TRINKET
  ARM: dts: msm: Default none mode for primary USB controllers on SA8155 and SA6155
  ARM: dts: msm:  Enable asm330 sensor
  Documentation: DT: Add ASM330 IMU DT Bindings
  drivers: iio: imu: enabled asm330 sensor
  ARM: dts: msm: Add AQC107 PCI IDs for sdxprairie
  defconfig: sdxprairie: Enable dcc dump
  ARM: dts: msm: Swap pci-ids strings for qca6390 device
  ARM: dts: msm: Add dcc node for sdxprairie
  power: qpnp-fg-gen4: Use ESR_ACT for available power calculation
  power: qpnp-fg-gen4: Add qcom,fg-sys-min-voltage property
  msm: IPA: devote IMP on 4G ssr
  msm: ipa: Add CONFIG_IPA_DEBUG support for non-perf build
  msm: ipa: Document CONFIG_IPA_DEBUG support for non-perf debug build
  cnss2: Remove recovery check in crash shutdown
  soc: qmi: dfc: Fix use after free in dfc_svc_init
  defconfig: sdxprairie : Disable PTP config
  serial: msm_geni_serial: Fix console port number check
  ARM: dts: msm: Add node to enable adc-tm for VBAT channel
  icnss: block modem shutdown during driver remove
  msm: ADSPRPC: Define sdsp_mem ion cma heap for trinket
  ARM: dts: msm: Update USB HS PHY parameters for Trinket QRD
  usb: core: Resume the bus for FREEZE pm_event too
  ARM: dts: msm: Add MHI device for sm8150/sa8155
  pci/of: expand match PCI devices to OF nodes
  ARM: dts: msm: add pci-ids to PCI OF nodes for sm8150 and sdxprairie
  power_supply: Add DC_RESET power-supply property
  msm: camera_v2: Update CPP frequency table from DT
  cnss2: Dot not post work event from force RDDM function
  cnss2: Save PCIe config space in no_irq phrase if link is up
  net: qrtr: Fix hello packet drop memory leak
  msm: msm_bus: resend TCS commands for IPA
  msm: ipa: Fix clock status check on panic
  ARM: dts: msm: Add USB entries for SA8155 VM
  defconfig: msm: Enable support for peripherals in qti-quin-gvm
  icnss: Set FW_DOWN bit early stage in fw crash handler
  ARM: dts: msm: Fix DP and USB1 concurrency issue on all SA8155 designs
  phy: msm: qusb: Add support for USB HS AC/DC coupling
  ARM: dts: msm: enable dynamic clk switch feature for trinket
  ARM: dts: msm: Add virtual bus node for GPU master for TRINKET
  sched: Improve the scheduler
  dt-bindings: qpnp-fg-gen4: Add qcom,fg-sys-min-voltage property
  mmc: sdhci-msm: No need to free-up dll-hsr table
  rpmsg: glink: Return -ECONNRESET for non-blcoking tx
  qcom-geni-se: Handle return value from iommu_map_and_attach function
  usb: gsi: Initialize 'info' with zero
  dts:arch:arm64: Reduce the qseecom heap for nightfury
  ARM: dts: msm: add demux node for kernel 4.14
  msm: ipa: Fix removing the length check
  ARM: dts: msm: add demux node for kernel 4.14
  scsi: ufs: Dont send abort command to w-luns
  msm: ipa3: Add check to avoid Null pointer dereference
  i2c-qcom-geni: Handle the DMA transfer complete interrupt
  irqchip: mpm: Add the correct mpm to gic interrupt mapping for usb
  icnss: Add changes to enable VBATT feature
  checkpatch: add Co-developed-by to signature tags
  msm: ipa3: fix to buffer overflow issue
  msm: ipa3: Release the IPA lock acquired
  ARM: dts: msm: enable spi slave for qcs405 sku12
  ARM: dts: msm: enable spi slave for qcs405 sku10
  ARM: dts: msm: enable spi slave for qcs405 sku8
  ARM: dts: msm: enable spi slave for qcs405 sku7
  ARM: dts: msm: enable spi slave for qcs405 sku6
  defconfig: Enable PANIC_ON_DATA_CORRUPTION on trinket
  ARM: dts: msm: enable spi slave for qcs405 sku5
  ARM: dts: msm: enable spi slave for qcs405 sku2
  ARM: dts: msm: Add tpdm gpu for TRINKET
  msm: ipa: Fix IPA version check for uC MB17 read
  ARM: dts: msm: Add qdss and gpu tpdm support on sdmmagpie
  msm: ipa4: Fix to change the header address to u64
  ARM: dts: msm: Add virtual clock for sa8155 vm
  defconfig: msm: Enable hab and virtual clock for Quin GVM
  icnss: Update return value of athdiag command
  clk: qcom: Add virtual clock which is based on hab
  coresight: Add regulator and clock vote for coreisht components
  ARM: dts: msm: add pci-ids string for qca6390 device
  usb: dwc3: gadget: Don't start transfer if end transfer was issued
  ARM: dts: msm: Update SMMU mask for jpeg and jpeg_dma
  soc: qcom: ignore identical thermal state callbacks for CDSP
  msm: ipa3: Fix to reduce user data size for WDI offloaded channels
  usb: dwc3: gadget: Fix TXFIFO resize logic for non-zero EPs
  power: qpnp-qg: Fix assignment of recharge_soc
  drivers: pinctrl: qcom: Update pinctrl configuarations for sm6150
  ARM: dts: msm: Update charging thermal mitigation levels for QRD8150
  iommu: io-pgtable-arm: make double-map non-fatal
  ARM: dts: msm: Enable wcn-btfm in qrd trinket and 6150
  ARM: dts: msm: Enable MHI DPL for sdxprairie
  ion: msm: Fix ION_FLAGS_CP_MASK value
  clk: qcom: Add support for gpll6_out_main and gpll8_out_main for SM6150.
  power: smb5: Add support for thermal throttling
  power_supply: Add "THERM_ICL_LIMIT" property
  regulator: rpm-smd: Add support for set_load function
  defconfig: Enable bluetooth for sdxprairie-perf
  defconfig: Enable bluetooth for sdxprairie
  bluetooth: Fix build failure when CONFIG_BTFM_SLIM is not defined
  ARM: dts: msm: Add support for Himax touch controller on trinket
  msm: mink: fixing issues in local obj handling
  msm: camera_v2: Disable CPP clock source during camera close
  msm: camera: isp: Fix frame drop pattern
  msm: ais: reqmgr: Hold device lock while retrieving session info
  ARM: dts: msm: Update crypto device nodes for sdxprairie
  clk: qcom: Add CLK_SET_RATE_UNGATE flag for sdcc1_apps_clk_src for TRINKET
  llcc: Update SCT table entries for sdmmagpie
  msm: vidc: Declare variable outside the loop
  msm: vidc: add support to enable frame average QP
  ARM: dts: msm: Map wsa instances as per trinket tasha schematics
  clk: qcom: clk-smd-rpm: Add qdss_clk as branch clock for TRINKET
  msm: camera: isp: Handle frame drop due to delay
  diag: dci: Prevent task deallocation and possible resource leak
  ARM: dts: msm: Fix video VA range for sdmmagpie sku version 1
  serial: msm_geni_serial: use correct API to free memory
  mmc: sdhci-msm: Use correct register for toggling FIFO write clk
  ARM: dts: msm: Correct clock name for GPU_CC_AHB_CLK on Trinket
  arm64: qcs405: Enable security configs to harden kernel
  ARM: dts: msm: Enable QoS programming for TRINKET
  msm: msm_bus: Add support for qnoc in bus scaling driver
  input: touchscreen: Add support for kernel command line parsing
  msm: gsi: ipa: Cut down doorbell during replenish buffers
  ARM: dts: msm: Add mapss tpdm and cti for trinket
  kbuild: Fix merge conflict in Makefile file properly
  cnss2: Add support for QDSS trace collecting
  power: qpnp-fg-gen4: Fix parallel current summing configuration
  usb: gadget: f_gsi: Handle IPA remote wakeup notification properly
  cnss2: Restore PCIe config space before enable PCIe device
  ARM: dts: msm: add GPU_SMMU_CLK in gpu smmu clk list on trinket
  ARM: dts: msm: enable two LMH DCVS instances for TRINKET
  ARM:dts:msm: update dt includes
  ARM: dts: msm: add support for sim and hx83112a truly panel for TRINKET
  msm: camera: dtsi: Add camera support for trinket QRD
  iommu: iommu-debug: don't pass null character to copy_to_user
  ARM: dts: msm: Change gpio for cam1 reset for trinket
  ARM: dts: msm: Enable bluetooth for sdxprairie variants
  ARM: dts: msm: Add audio support for ATP target in sdmmapgie
  init: rename Kernel End marker for standardization
  scsi: ufs: Avoid writing null to Boot LUN enable attribute
  FROMLIST: ANDROID: binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl.
  power: smb5: Configure CC threshold Voltage to 1.6 V
  defconfig: msm: disable PCIe MSI for sa6155P
  regulator: qpnp-lcdb: Add a DT property for LDO power-down delay
  ARM: dts: msm: Update command panel init code for trinket
  ARM: dts: msm: Update panel init code for trinket
  mmc: add more trace logs and debug information
  diag: Check for the peripheral limits for the pd
  soc: qcom: dfc: ignore indications during RAT switch
  soc: qcom: wda: powersave optimization
  cnss2: Add GENL support for WLAN platform driver
  drivers: thermal: Add shared interrupt handler support to LMH DCVS
  defconfig: msm: enable remote debugger driver on trinket
  ARM: dts: msm: add remote debugger support on trinket
  ARM: dts: msm: use no WCD overlay for sku5 in QCS405
  ARM: dts: msm: Add entry for cx ipeak driver
  thermal: adc-tm: Move exported ADC_TM APIs to linux folder
  dt-bindings: dcc: Add subnode for support multiple link-lists
  power: smb5: enable software ICL adjustment for thermal regulation
  power: smb1390-psy: add filtering for die temp reporting
  ARM: dts: msm: disable LMH platform cpu mitigation for TRINKET
  thermal: lmh_dcvs: Add support to disable platform cpu mitigation
  msm: ipa3: Vote the clock before sending uC command
  usb: pd: Add timeout for mode change
  ARM: dts: msm: Add "smmu_vote" clock to GPU clock list for Trinket
  msm: kgsl: Add "smmu_vote" clock to the clock names list
  ARM: dts: msm: Add device tree for sa6155 virtual machine
  scsi: ufs: Release rw_sem while sending device management requests
  clk: qcom: gpucc: Add support for HLOS1_VOTE_GPU_SMMU_CLK
  ARM: dts: msm: added adp air apq camera support
  wil6210: fix spurious interrupts in 3-msi
  power: smb5-lib: Report USB voltage unconditionally
  msm: kgsl: check kgsl state before accessing device registers
  defconfig: enable zram deduplication on trinket
  power: qpnp-qg: Use CC_SOC to report CHARGE_COUNTER
  cfg80211: Authentication offload to user space in AP mode
  msm: vidc: Add and configure clocks using reset api
  defconfig: qcs405: Enable gpio key driver
  ARM:dts:msm: Fix DP and USB concurrent issue
  clk: qcom: Update frequency plan for CPP clock for TRINKET
  usb: misc: diag_bridge: Move dev->ifc cleanup to delete function
  usb: misc: diag_bridge: Patch debug statements
  usb: diag_bridge: Modify kref_put handling in case of transfers
  usb: misc: Add snapshot of diag_bridge driver
  Revert "mmc: sdhci-msm: Disable CDR function on TX"
  Revert "scsi: core: Synchronize request queue PM status only on successful resume"
  crypto: qcedev: Fix out of memory issue
  packet: Fix false positive compilation error
  ARM: dts: msm: create display devicetree file for adp star platform
  usb: gadget: Fix issue in queuing notification req upon function suspend
  drivers: pinctrl: remove PDC pin 198 for sdxprairie
  ARM: dts: msm: Add cache-size property for Trinket
  ARM: dts: msm: Update CPP frequency table for TRINKET
  ARM: dts: msm: Add ADC_TM support for VBAT_SNS for trinket
  mmc: block: Fix issues with mmc ioctl path on 4.14 kernel
  mmc: sdhci: Force crash upon emmc unexpected interrupt
  ARM: dts: msm: Use correct clock handle for SSPHY ref clock for QCS405
  clk: qcom: Defer the display clock driver probe for TRINKET
  power: qpnp-qnovo5: Update ok_to_qnovo based on JEITA
  dt-bindings: qpnp-fg-gen4: add support to read/write from nvmem
  drivers: edac: Do not configure interrupt register in polling mode
  cnss2: NULL terminate fw build timestamp string
  cnss2: Wait for recovery completion to unregister driver
  ARM: dts: msm: Add USB SS_PHY_IRQ PDC interrupt with sdxprairie
  ARM: dts: msm: Remove the pps support in sdxprairie
  msm: kgsl: Do not free secure buffers without unlocking
  msm: camera: isp: Reset request queue at stop
  drivers: rpm-smd: move rpm-smd initcall to postcore_initcall_sync
  msm: camera: core: Avoid concurrency between stop and pfdump
  input: touchscreen: st: Disable PRESSURE event report
  iommu: arm-smmu: dump additional smmu registers in fault handler
  rpmsg: glink: Early bootup init of glink rpm driver
  ARM: dts: msm: Disable SD card hot-plug support on qsc405 platforms
  clk: qcom: Add support for gpll7_out_main clock for TRINKET
  power: smb1351: Rearrange register reads in determine_initial_state
  drivers: net: can: Add timestamp adjustment for can frames in qti-can
  msm: ipa3: qmi changes for sdxprairie
  soc: qcom: qmi_interface: Change qmi send fail to pr_info
  cnss2: Dump copy engine registers if RDDM fails
  cnss2: Dump debug registers for firmware assert
  mhi: core: add support to dump debug registers
  msm: net: Support for Removing SFE module
  defconfig: sdxprairie: enable qrtr mhi transport
  net: qualcomm: rmnet: Add NETIF_F_GRO_HW support
  net: qualcomm: rmnet: Add stats for QMAPv5 coalescing
  net: qualcomm: rmnet: Add support for QMAPv5 coalescing
  usb: f_gsi: Send zero length packet for MBIM/GPS on cable connect
  Linux 4.14.98
  fanotify: fix handling of events on child sub-directory
  drivers: core: Remove glue dirs from sysfs earlier
  cifs: Always resolve hostname before reconnecting
  md/raid5: fix 'out of memory' during raid cache recovery
  mm: migrate: don't rely on __PageMovable() of newpage after unlocking it
  mm: hwpoison: use do_send_sig_info() instead of force_sig()
  mm, oom: fix use-after-free in oom_kill_process
  oom, oom_reaper: do not enqueue same task twice
  kernel/exit.c: release ptraced tasks before zap_pid_ns_processes
  mmc: sdhci-iproc: handle mmc_of_parse() errors during probe
  platform/x86: asus-nb-wmi: Drop mapping of 0x33 and 0x34 scan codes
  platform/x86: asus-nb-wmi: Map 0x35 to KEY_SCREENLOCK
  IB/hfi1: Remove overly conservative VM_EXEC flag check
  ALSA: hda/realtek - Fixed hp_pin no value
  mmc: bcm2835: Fix DMA channel leak on probe error
  gfs2: Revert "Fix loop in gfs2_rbm_find"
  gpio: pcf857x: Fix interrupts on multiple instances
  gpio: altera-a10sr: Set proper output level for direction_output
  arm64: hibernate: Clean the __hyp_text to PoC after resume
  arm64: hyp-stub: Forbid kprobing of the hyp-stub
  arm64: kaslr: ensure randomized quantities are clean also when kaslr is off
  ARM: cns3xxx: Fix writing to wrong PCI config registers after alignment
  NFS: Fix up return value on fatal errors in nfs_page_async_flush()
  selftests/seccomp: Enhance per-arch ptrace syscall skip tests
  iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions()
  fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb()
  CIFS: Do not count -ENODATA as failure for query directory
  ipvlan, l3mdev: fix broken l3s mode wrt local routes
  l2tp: fix reading optional fields of L2TPv3
  l2tp: remove l2specific_len dependency in l2tp_core
  sctp: improve the events for sctp stream reset
  sctp: improve the events for sctp stream adding
  virtio_net: Fix not restoring real_num_rx_queues
  virtio_net: Don't call free_old_xmit_skbs for xdp_frames
  virtio_net: Don't enable NAPI when interface is down
  Revert "net/mlx5e: E-Switch, Initialize eswitch only if eswitch manager"
  net/mlx5e: Allow MAC invalidation while spoofchk is ON
  ucc_geth: Reset BQL queue when stopping device
  net: set default network namespace in init_dummy_netdev()
  net/rose: fix NULL ax25_cb kernel panic
  netrom: switch to sock timer API
  net/mlx4_core: Add masking for a few queries on HCA caps
  l2tp: copy 4 more bytes to linear part if necessary
  ipv6: sr: clear IP6CB(skb) on SRH ip4ip6 encapsulation
  ipv6: Consider sk_bound_dev_if when binding a socket to an address
  Fix "net: ipv4: do not handle duplicate fragments as overlapping"
  defconfig: msm: Enable Cx ipeak driver for trinket
  ARM: dts: msm: Update correct irq for mpm wake-gic for trinket
  defconfig: Disable MSM_SPM support
  ARM: dts: msm: Enable the OSM clock controller for TRINKET
  clk: qcom: Add clock measure support for CPU clocks for TRINKET
  clk: qcom: clk-cpu-osm: Add OSM clock driver support for TRINKET
  ARM: dts: msm: include thermal overlay devicetree for TRINKET QRD platform
  ARM: dts: msm: Update QOS setting for camera on trinket
  dmaengine: edma: Update module description
  iommu: arm-smmu: ratelimit context fault verification
  ARM: dts: msm: Enable 'qcom,qg-use-s7-ocv' for trinket
  power: qpnp-qg: Add a DT property to use S7 PON OCV
  ARM: dts: msm: Enable RPM SMD cooling device for TRINKET
  clk: qcom: Add clock measure support for ipa_2x_clk for TRINKET
  msm-camera: add cx-ipeak support in cpp
  ARM: dts: msm: Update CXIPeak bypass client list for TRINKET
  ARM: dts: msm: fix minimum and maximum voltage votes for MX
  ARM: dts: msm: update DDR table with 32 bit width on trinket target
  msm: kgsl: Fix memory leak in _insert_gpuaddr()
  ARM: dts: msm: reorder LED nodes for LMAB
  ARM: dts: msm: enable dynamic clk switch feature for sm6150
  qseecom: fix listener unregister issues
  ARM: dts: msm: Add the CMN BLK PLL node for QCS405
  msm: ipa3: Initialize parameters for registering client
  net: ipv6: addrconf: IPv6 tethering enhancement
  icnss: block modem shutdown during driver reinit
  ARM: dts: msm: enable cx-ipeak for camera on trinket
  power: smb1390: add support to configure temp alarm threshold
  defconfig: qcs405: Enable Squashfs configs.
  msm: camera: isp: Switching between rdi and pix rup for fs2 state machine
  defconfig: trinket: enable configuration flag for inline crypto engine
  qcom-geni-se: Add IPC logging for NOC voting
  scsi: ufs: Add missing kfree for descriptor buffer
  icnss: Add Api to Block/Unblock modem shutdown
  clk: qcom: gcc: Update source for gmu and mdss_ahb clk on TRINKET
  ARM: dts: msm: update memory regions according to v4 on trinket
  power: smb1355: Fix ICL configuration for USBIN-USBIN mode
  msm: kgsl: Remove excessive log in kgsl_snapshot_get_object
  msm: IPA: error code change for mhi state not expected
  msm: IPA: error code change for mhi failure on ssr
  defconfig: qcs403: Disable trace config
  defconfig: Enable CMN BLK PLL driver for QCS405
  clk: qcom: Update CMN BLK PLL driver name
  power: smb1390-psy: add support to configure minimum ILIM
  msm: camera: icp: Increase number of supported contexts
  net: qualcomm: rmnet: Fix incorrect parsing of next hdr
  Netfilter: Enabling network related defconfigs
  qseecom: replace scm_call2 with scm_call2_noretry
  msm: ipa3: add additional hw-counters for stats
  net: Kernel changes for Generic Software Bridge(GSB)
  rpmsg: glink: spi: wakeup thread waiting on intent
  clk: qcom: clk-alpha-pll: Update clk_alpha_pll_ops to bypass HW postdiv
  pwm: pwm-qti-lpg: Add support for LUT pattern control through SDAM
  msm: ipa: Fix to release the IPA clock
  clk: qcom: clk-alpha-pll: Add support of slew recalc API
  ARM: dts: msm: Avoid Tx FIFO resizing on secondary USB core for SM6150
  rpmsg: glink: use correct data pointer in packets larger than 8k
  ARM: dts: msm: add HL7503 buck for qcs405
  mmc: core: Ignore CRC errors with CMD13 while executing tuning
  power: smb5: Evaluate step charging on wdog snarl
  Netfilter: Fixes for NATTYPE module compilation
  defconfig: qcs403: Enable back IIO driver
  regulator: qpnp-lcdb: Re-order the TTW sequence
  msm: dolby: MAT and THD audiocodec name modification
  msm: camera: isp: Dump registers based on debugfs
  ARM: dts: msm: Add IPA uC PIL load node for sm8150_sdxprairie
  msm: ipa4: add wigig messages support
  aio: sanitize ki_list handling
  aio: remove an outdated BUG_ON and comment in aio_complete
  defconfig: sdxprairie : Enable configs required for EMAC
  msm: camera: Listen to error interrupts once CSID is enabled
  ARM: dts: msm: dtsi change for WDI3 over GSI on sdxprairie
  USB: Move MBIM interface related IOCTLs definition to uapi directory
  ARM: dt: qcom: Supply dll-hsr settings sdhc on trinket
  ARM: dt: qcom: Supply dll-hsr settings sdhc on sdmmagpie
  ARM: dt: qcom: Supply dll-hsr settings sdhc on sm6150
  mmc: sdhci-msm: Support for getting DLL HSR values from dt file
  ARM: dts: msm: Enable CX iPeak support for GPU on Trinket
  msm: kgsl: Set CX iPeak threshold frequency for A610 GPU
  iommu: arm-smmu: dump tbu pwr status in tlb sync timeout
  diag: Synchronize rpmsg read and write
  scsi: ufs: Update condition for setting PA_TXHSADAPTTYPE
  mhi_dev: mhi: avoid unnecessary memory calls
  mhi_dev: mhi: update variable type
  msm: mhi_dev: add dma support for mhi
  ion: fix system secure force alloc
  ipa3: fix suspend sequence for MHI ADPL pipe
  msm: camera: cci: Add serialization of requests from diff i2c freq modes
  usb: dwc3-msm: Add support for default none mode if extcon absent
  f2fs: do not use mutex lock in atomic context
  Linux 4.14.97
  btrfs: dev-replace: go back to suspended state if target device is missing
  btrfs: fix error handling in btrfs_dev_replace_start
  f2fs: read page index before freeing
  xen: Fix x86 sched_clock() interface for xen
  x86/xen/time: Output xen sched_clock time from 0
  x86/xen/time: setup vcpu 0 time info page
  x86/xen/time: set pvclock flags on xen_time_init()
  x86/pvclock: add setter for pvclock_pvti_cpu0_va
  ptp_kvm: probe for kvm guest availability
  xhci: Fix leaking USB3 shared_hcd at xhci removal
  usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup
  nvmet-rdma: fix null dereference under heavy load
  nvmet-rdma: Add unlikely for response allocated check
  s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU
  KVM: x86: Fix a 4.14 backport regression related to userspace/guest FPU
  net: stmmac: Use correct values in TQS/RQS fields
  Revert "seccomp: add a selftest for get_metadata"
  perf unwind: Take pgoff into account when reporting elf to libdwfl
  perf unwind: Unwind with libdw doesn't take symfs into account
  vt: invoke notifier on screen size change
  can: bcm: check timer values before ktime conversion
  can: dev: __can_get_echo_skb(): fix bogous check for non-existing skb by removing it
  irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size
  posix-cpu-timers: Unbreak timer rearming
  x86/kaslr: Fix incorrect i8254 outb() parameters
  x86/selftests/pkeys: Fork() to check for state being preserved
  x86/pkeys: Properly copy pkey state at fork()
  KVM: x86: Fix single-step debugging
  dm crypt: fix parsing of extended IV arguments
  dm thin: fix passdown_double_checking_shared_status()
  acpi/nfit: Fix command-supported detection
  acpi/nfit: Block function zero DSMs
  Input: uinput - fix undefined behavior in uinput_validate_absinfo()
  compiler.h: enable builtin overflow checkers and add fallback code
  Input: xpad - add support for SteelSeries Stratus Duo
  CIFS: Do not reconnect TCP session in add_credits()
  CIFS: Fix credit calculation for encrypted reads with errors
  CIFS: Fix credits calculations for reads with errors
  CIFS: Fix possible hang during async MTU reads and writes
  Drivers: hv: vmbus: Check for ring when getting debug info
  hv_balloon: avoid touching uninitialized struct page during tail onlining
  tty/n_hdlc: fix __might_sleep warning
  uart: Fix crash in uart_write and uart_put_char
  tty: Handle problem if line discipline does not have receive_buf
  staging: rtl8188eu: Add device code for D-Link DWA-121 rev B1
  char/mwave: fix potential Spectre v1 vulnerability
  s390/smp: fix CPU hotplug deadlock with CPU rescan
  s390/early: improve machine detection
  ARC: perf: map generic branches to correct hardware condition
  ARC: adjust memblock_reserve of kernel memory
  ARCv2: lib: memeset: fix doing prefetchw outside of buffer
  ALSA: hda - Add mute LED support for HP ProBook 470 G5
  ASoC: rt5514-spi: Fix potential NULL pointer dereference
  ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages
  USB: serial: pl2303: add new PID to support PL2303TB
  USB: serial: simple: add Motorola Tetra TPG2200 device id
  mei: me: add denverton innovation engine device IDs
  mmc: Kconfig: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS
  ipfrag: really prevent allocation on netns exit
  tcp: allow MSG_ZEROCOPY transmission also in CLOSE_WAIT state
  net: ipv4: Fix memory leak in network namespace dismantle
  vhost: log dirty page correctly
  openvswitch: Avoid OOB read when parsing flow nlattrs
  net_sched: refetch skb protocol for each filter
  net: phy: mdio_bus: add missing device_del() in mdiobus_register() error handling
  net: Fix usage of pskb_trim_rcsum
  net: bridge: Fix ethernet header pointer before check skb forwardable
  amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs
  msm-vidc: Modify encoder configuration for power savings mode.
  power: qpnp-fg-gen4: add support to display available power
  drivers: soc: qcom: notify of only usb audio plugs
  ARM: dts: msm: Add support for USB HS AC/DC coupling on SA8155
  msm: ipa: Update the WLAN ep enum for sdxprairie
  cnss2: Skip RAM dump collection if it is already done
  Revert "mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support"
  f2fs: add missing part of patch "f2fs: support flexible inline xattr size"
  msm: camera: sync: Update error message in sync driver
  ARM: dts: msm: add rt rotator support for TRINKET
  AndroidKernel: Use TARGET_KERNEL_CROSS_COMPILE_PREFIX for both 32/64 bit
  ARM: dts: msm: set bias disable for WCD reset GPIO in QCS405
  Linux 4.14.96
  ipmi:ssif: Fix handling of multi-part return messages
  PCI: dwc: Move interrupt acking into the proper callback
  drm/i915/gvt: Fix mmap range check
  cifs: allow disabling insecure dialects in the config
  ipmi:pci: Blacklist a Realtek "IPMI" device
  nfs: fix a deadlock in nfs client initialization
  mm, proc: be more verbose about unstable VMA flags in /proc/<pid>/smaps
  mm/swap: use nr_node_ids for avail_lists in swap_info_struct
  mm/page-writeback.c: don't break integrity writeback on ->writepage() error
  ocfs2: fix panic due to unrecovered local alloc
  scsi: megaraid: fix out-of-bound array accesses
  scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown()
  scsi: smartpqi: correct lun reset issues
  IB/usnic: Fix potential deadlock
  sysfs: Disable lockdep for driver bind/unbind files
  ALSA: bebob: fix model-id of unit for Apogee Ensemble
  clocksource/drivers/integrator-ap: Add missing of_node_put()
  quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON,OFF} quotactls.
  dm snapshot: Fix excessive memory usage and workqueue stalls
  tools lib subcmd: Don't add the kernel sources to the include path
  dm kcopyd: Fix bug causing workqueue stalls
  dm crypt: use u64 instead of sector_t to store iv_offset
  netfilter: ipt_CLUSTERIP: check MAC address when duplicate config is set
  perf parse-events: Fix unchecked usage of strncpy()
  perf svghelper: Fix unchecked usage of strncpy()
  perf intel-pt: Fix error with config term "pt=0"
  tty/serial: do not free trasnmit buffer page under port lock
  btrfs: improve error handling of btrfs_add_link
  mmc: atmel-mci: do not assume idle after atmci_request_end
  kconfig: fix memory leak when EOF is encountered in quotation
  kconfig: fix file name and line number of warn_ignored_character()
  arm64: Fix minor issues with the dcache_by_line_op macro
  clk: imx6q: reset exclusive gates on init
  selftests: do not macro-expand failed assertion expressions
  scsi: target: use consistent left-aligned ASCII INQUIRY data
  net: call sk_dst_reset when set SO_DONTROUTE
  media: venus: core: Set dma maximum segment size
  media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
  powerpc/pseries/cpuidle: Fix preempt warning
  powerpc/xmon: Fix invocation inside lock region
  pstore/ram: Do not treat empty buffers as valid
  clk: imx: make mux parent strings const
  jffs2: Fix use of uninitialized delayed_work, lockdep breakage
  rxe: IB_WR_REG_MR does not capture MR's iova field
  selinux: always allow mounting submounts
  usb: gadget: udc: renesas_usb3: add a safety connection way for forced_b_device
  arm64: perf: set suppress_bind_attrs flag to true
  MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur
  x86/mce: Fix -Wmissing-prototypes warnings
  ALSA: oxfw: add support for APOGEE duet FireWire
  serial: set suppress_bind_attrs flag only if builtin
  writeback: don't decrement wb->refcnt if !wb->bdi
  e1000e: allow non-monotonic SYSTIM readings
  platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey
  gpio: pl061: Move irq_chip definition inside struct pl061
  net: dsa: mv88x6xxx: mv88e6390 errata
  ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses
  r8169: Add support for new Realtek Ethernet
  qmi_wwan: add MTU default to qmap network interface
  net, skbuff: do not prefer skb allocation fails early
  mlxsw: spectrum_switchdev: Set PVID correctly during VLAN deletion
  mlxsw: spectrum: Disable lag port TX before removing it
  ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address
  msm: camera: reqmgr: Move trace event post applying
  msm: camera: reqmgr: Correct the check for lower pd devices
  ARM: dts: msm: Update sdmmagpie to V7 memory map
  ARM: dts: msm: Update sm6150 to V8 memory map
  msm: camera: reqmgr: Reset sync link initial sync req
  msm: camera: icp: Add fw error message in kmd logging
  msm: vidc: queue batched buffers upon timeout
  Linux 4.14.95
  nbd: Use set_blocksize() to set device blocksize
  media: vb2: be sure to unlock mutex on errors
  drm/fb-helper: Ignore the value of fb_var_screeninfo.pixclock
  loop: drop caches if offset or block_size are changed
  loop: Fix double mutex_unlock(&loop_ctl_mutex) in loop_control_ioctl()
  loop: Get rid of loop_index_mutex
  loop: Fold __loop_release into loop_release
  block/loop: Use global lock for ioctl() operation.
  block/loop: Don't grab "struct file" for vfs_getattr() operation.
  tipc: fix uninit-value in tipc_nl_compat_doit
  tipc: fix uninit-value in tipc_nl_compat_name_table_dump
  tipc: fix uninit-value in tipc_nl_compat_link_set
  tipc: fix uninit-value in tipc_nl_compat_bearer_enable
  tipc: fix uninit-value in tipc_nl_compat_link_reset_stats
  sctp: allocate sctp_sockaddr_entry with kzalloc
  blockdev: Fix livelocks on loop device
  selinux: fix GPF on invalid policy
  netfilter: ebtables: account ebt_table_info to kmemcg
  sunrpc: handle ENOMEM in rpcb_getport_async
  media: vb2: vb2_mmap: move lock up
  LSM: Check for NULL cred-security on free
  bpf: in __bpf_redirect_no_mac pull mac only if present
  media: vivid: set min width/height to a value > 0
  media: vivid: fix error handling of kthread_run
  omap2fb: Fix stack memory disclosure
  Disable MSI also when pcie-octeon.pcie_disable on
  arm64: kaslr: ensure randomized quantities are clean to the PoC
  pstore/ram: Avoid allocation and leak of platform data
  media: v4l: ioctl: Validate num_planes for debug messages
  mfd: tps6586x: Handle interrupts on suspend
  OF: properties: add missing of_node_put
  MIPS: lantiq: Fix IPI interrupt handling
  mips: fix n32 compat_ipc_parse_version
  crypto: talitos - fix ablkcipher for CONFIG_VMAP_STACK
  crypto: talitos - reorder code in talitos_edesc_alloc()
  scsi: sd: Fix cache_type_store()
  scsi: core: Synchronize request queue PM status only on successful resume
  Yama: Check for pid death before checking ancestry
  btrfs: wait on ordered extents on abort cleanup
  Revert "btrfs: balance dirty metadata pages in btrfs_finish_ordered_io"
  crypto: authenc - fix parsing key with misaligned rta_len
  crypto: bcm - convert to use crypto_authenc_extractkeys()
  crypto: authencesn - Avoid twice completion call in decrypt path
  crypto: caam - fix zero-length buffer DMA mapping
  ip: on queued skb use skb_header_pointer instead of pskb_may_pull
  bonding: update nest level on unlink
  packet: Do not leak dev refcounts on error exit
  net: bridge: fix a bug on using a neighbour cache entry without checking its state
  ipv6: fix kernel-infoleak in ipv6_local_error()
  arm64: Don't trap host pointer auth use to EL2
  arm64/kvm: consistently handle host HCR_EL2 flags
  scsi: target: iscsi: cxgbit: fix csk leak
  Revert "scsi: target: iscsi: cxgbit: fix csk leak"
  sched/fair: Fix bandwidth timer clock drift condition
  media: em28xx: Fix misplaced reset of dev->v4l::field_count
  mmc: sdhci-msm: Disable CDR function on TX
  can: gw: ensure DLC boundaries after CAN frame modification
  tty: Don't hold ldisc lock in tty_reopen() if ldisc present
  tty: Simplify tty->count math in tty_reopen()
  tty: Hold tty_ldisc_lock() during tty_reopen()
  tty/ldsem: Wake up readers after timed out down_write()
  msm: camera: sync: Report error if getting sync obj reference fails
  msm: camera: icp: Update frame process command
  msm: camera: sensor: Add csi phy reset sequence
  msm: camera: core: Update the log level
  defconfig: Enable cnss_genl driver compilation
  usb: gadget: mtp: Dequeue request upon vfs_write failure
  mmc: core: Update check for enhanced rpmb support
  msm: kgsl: Skip gpu registers dumping when gx is off
  usb: pd: Remove log message from pd_timeout
  Linux 4.14.94
  KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less
  sunrpc: use-after-free in svc_process_common()
  ext4: track writeback errors using the generic tracking infrastructure
  ext4: use ext4_write_inode() when fsyncing w/o a journal
  ext4: avoid kernel warning when writing the superblock to a dead device
  ext4: fix a potential fiemap/page fault deadlock w/ inline_data
  ext4: make sure enough credits are reserved for dioread_nolock writes
  rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set
  drm/fb-helper: Partially bring back workaround for bugs of SDL 1.2
  i2c: dev: prevent adapter retries and timeout being set as minus value
  ACPI / PMIC: xpower: Fix TS-pin current-source handling
  ACPI: power: Skip duplicate power resource references in _PRx
  mm, memcg: fix reclaim deadlock with writeback
  mm: page_mapped: don't assume compound page is huge or THP
  slab: alien caches must not be initialized if the allocation of the alien cache failed
  USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB
  USB: storage: add quirk for SMI SM3350
  USB: storage: don't insert sane sense for SPC3+ when bad sense specified
  usb: cdc-acm: send ZLP for Telit 3G Intel based modems
  cifs: Fix potential OOB access of lock element array
  CIFS: Do not hide EINTR after sending network packets
  CIFS: Fix adjustment of credits for MTU requests
  ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225
  ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225
  ALSA: hda/realtek - Support Dell headset mode for New AIO platform
  x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE
  x86,kvm: move qemu/guest FPU switching out to vcpu_run
  Makefile: Fix 4.14.93 resolution
  Linux 4.14.93
  tools: power/acpi, revert to LD = gcc
  bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw
  drm/vc4: Set ->is_yuv to false when num_planes == 1
  lib: fix build failure in CONFIG_DEBUG_VIRTUAL test
  power: supply: olpc_battery: correct the temperature units
  intel_th: msu: Fix an off-by-one in attribute store
  genwqe: Fix size check
  ceph: don't update importing cap's mseq when handing cap export
  sched/fair: Fix infinite loop in update_blocked_averages() by reverting a9e7f6544b9c
  iommu/vt-d: Handle domain agaw being less than iommu agaw
  rxe: fix error completion wr_id and qp_num
  9p/net: put a lower bound on msize
  powerpc/tm: Set MSR[TS] just prior to recheckpoint
  arm64: relocatable: fix inconsistencies in linker script and options
  arm64: drop linker script hack to hide __efistub_ symbols
  scripts/kallsyms: filter arm64's __efistub_ symbols
  lockd: Show pid of lockd for remote locks
  selinux: policydb - fix byte order and alignment issues
  b43: Fix error in cordic routine
  gfs2: Fix loop in gfs2_rbm_find
  gfs2: Get rid of potential double-freeing in gfs2_create_inode
  dlm: memory leaks on error path in dlm_user_request()
  dlm: lost put_lkb on error path in receive_convert() and receive_unlock()
  dlm: possible memory leak on error path in create_lkb()
  dlm: fixed memory leaks after failed ls_remove_names allocation
  ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks
  ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit()
  ALSA: cs46xx: Potential NULL dereference in probe
  dm zoned: Fix target BIO completion handling
  dm verity: fix crash on bufio buffer that was allocated with vmalloc
  vhost/vsock: fix uninitialized vhost_vsock->guest_cid
  raid6/ppc: Fix build for clang
  powerpc/boot: Set target when cross-compiling for clang
  Makefile: Export clang toolchain variables
  kbuild: consolidate Clang compiler flags
  kbuild: add -no-integrated-as Clang option unconditionally
  md: raid10: remove VLAIS
  ftrace: Build with CPPFLAGS to get -Qunused-arguments
  powerpc: Disable -Wbuiltin-requires-header when setjmp is used
  powerpc: avoid -mno-sched-epilog on GCC 4.9 and newer
  sunrpc: use SVC_NET() in svcauth_gss_* functions
  sunrpc: fix cache_head leak due to queued request
  mm, swap: fix swapoff with KSM pages
  mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL
  mm, hmm: use devm semantics for hmm_devmem_{add, remove}
  mm, devm_memremap_pages: kill mapping "System RAM" support
  mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL
  hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined
  zram: fix double free backing device
  fork: record start_time late
  tools: fix cross-compile var clobbering
  genirq/affinity: Don't return with empty affinity masks on error
  scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid
  scsi: zfcp: fix posting too many status read buffers leading to adapter shutdown
  serial/sunsu: fix refcount leak
  qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup
  net: netxen: fix a missing check and an uninitialized use
  Input: synaptics - enable SMBus for HP EliteBook 840 G4
  gpio: mvebu: only fail on missing clk if pwm is actually to be used
  virtio: fix test build after uio.h change
  kbuild: fix false positive warning/error about missing libelf
  mac80211: free skb fraglist before freeing the skb
  vxge: ensure data0 is initialized in when fetching firmware version information
  lan78xx: Resolve issue with changing MAC address
  net: macb: fix dropped RX frames due to a race
  net: macb: fix random memory corruption on RX with 64-bit DMA
  qed: Fix an error code qed_ll2_start_xmit()
  SUNRPC: Fix a race with XPRT_CONNECTING
  net: hns: Fix ping failed when use net bridge and send multicast
  net: hns: Add mac pcs config when enable|disable mac
  net: hns: Fix ntuple-filters status error.
  net: hns: Avoid net reset caused by pause frames storm
  net: hns: Free irq when exit from abnormal branch
  net: hns: Clean rx fbd when ae stopped.
  net: hns: Fixed bug that netdev was opened twice
  net: hns: Some registers use wrong address according to the datasheet.
  net: hns: All ports can not work when insmod hns ko after rmmod.
  net: hns: Incorrect offset address used for some registers.
  w90p910_ether: remove incorrect __init annotation
  drivers: net: xgene: Remove unnecessary forward declarations
  x86, hyperv: remove PCI dependency
  scsi: target: iscsi: cxgbit: add missing spin_lock_init()
  scsi: target: iscsi: cxgbit: fix csk leak
  bnx2x: Send update-svid ramrod with retry/poll flags enabled
  bnx2x: Remove configured vlans as part of unload sequence.
  bnx2x: Clear fip MAC when fcoe offload support is disabled
  netfilter: nat: can't use dst_hold on noref dst
  netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel
  i40e: fix mac filter delete when setting mac address
  x86/dump_pagetables: Fix LDT remap address marker
  x86/mm: Fix guard hole handling
  ieee802154: ca8210: fix possible u8 overflow in ca8210_rx_done
  ibmvnic: Fix non-atomic memory allocation in IRQ context
  Input: synaptics - enable RMI on ThinkPad T560
  Input: omap-keypad - fix idle configuration to not block SoC idle states
  scsi: bnx2fc: Fix NULL dereference in error handling
  netfilter: seqadj: re-load tcp header pointer after possible head reallocation
  xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry.
  xfrm: Fix bucket count reported to userspace
  xfrm: Fix error return code in xfrm_output_one()
  checkstack.pl: fix for aarch64
  Input: restore EV_ABS ABS_RESERVED
  ARM: dts: imx7d-nitrogen7: Fix the description of the Wifi clock
  ARM: imx: update the cpu power up timing setting on i.mx6sx
  HID: ite: Add USB id match for another ITE based keyboard rfkill key quirk
  powerpc/mm: Fix linux page tables build with some configs
  powerpc: Fix COFF zImage booting on old powermacs
  pinctrl: meson: fix pull enable register calculation
  Linux 4.14.92
  MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y
  spi: bcm2835: Unbreak the build of esoteric configs
  tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x
  tpm: tpm_try_transmit() refactor error flow.
  rtc: m41t80: Correct alarm month range with RTC reads
  arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs
  arm64: KVM: Avoid setting the upper 32 bits of VTCR_EL2 to 1
  CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem
  MIPS: OCTEON: mark RGMII interface disabled on OCTEON III
  MIPS: Expand MIPS32 ASIDs to 64 bits
  MIPS: Align kernel load address to 64KB
  MIPS: Ensure pmd_present() returns false after pmd_mknotpresent()
  MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3
  MIPS: math-emu: Write-protect delay slot emulation pages
  media: v4l2-tpg: array index could become negative
  media: vivid: free bitmap_cap when updating std/timings/etc.
  serial: uartps: Fix interrupt mask issue to handle the RX interrupts properly
  f2fs: fix validation of the block count in sanity_check_raw_super
  netfilter: nf_conncount: don't skip eviction when age is negative
  netfilter: nf_conncount: fix garbage collection confirm race
  netfilter: nf_conncount: Fix garbage collection with zones
  netfilter: nf_conncount: expose connection list interface
  netfilter: xt_connlimit: don't store address in the conn nodes
  Btrfs: fix fsync of files with multiple hard links in new directories
  cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader.
  cgroup: fix CSS_TASK_ITER_PROCS
  crypto: cavium/nitrox - fix a DMA pool free failure
  clk: rockchip: fix typo in rk3188 spdif_frac parent
  spi: bcm2835: Avoid finishing transfer prematurely in IRQ mode
  spi: bcm2835: Fix book-keeping of DMA termination
  spi: bcm2835: Fix race on DMA termination
  ext4: check for shutdown and r/o file system in ext4_write_inode()
  ext4: force inode writes when nfsd calls commit_metadata()
  ext4: include terminating u32 in size of xattr entries when expanding inodes
  ext4: fix EXT4_IOC_GROUP_ADD ioctl
  ext4: missing unlock/put_page() in ext4_try_to_write_inline_data()
  ext4: fix possible use after free in ext4_quota_enable
  ext4: add ext4_sb_bread() to disambiguate ENOMEM cases
  perf pmu: Suppress potential format-truncation warning
  platform-msi: Free descriptors in platform_msi_domain_free()
  KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails
  KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup
  x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
  x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
  Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G
  s390/pci: fix sleeping in atomic during hotplug
  qmi_wwan: apply SET_DTR quirk to the SIMCOM shared device ID
  staging: wilc1000: fix missing read_write setting when reading data
  usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable()
  USB: serial: option: add Fibocom NL678 series
  USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays
  ALSA: hda/tegra: clear pending irq handlers
  ALSA: firewire-lib: use the same print format for 'without_header' tracepoints
  ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint
  ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet
  ALSA: fireface: fix for state to fetch PCM frames
  ALSA: hda: add mute LED support for HP EliteBook 840 G4
  mtd: atmel-quadspi: disallow building on ebsa110
  ALSA: emux: Fix potential Spectre v1 vulnerabilities
  ALSA: pcm: Fix potential Spectre v1 vulnerability
  ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities
  ALSA: rme9652: Fix potential Spectre v1 vulnerability
  IB/hfi1: Incorrect sizing of sge for PIO will OOPs
  sock: Make sock->sk_stamp thread-safe
  net/smc: fix TCP fallback socket release
  qmi_wwan: Add support for Fibocom NL678 series
  qmi_wwan: Added support for Fibocom NL668 series
  tipc: compare remote and local protocols in tipc_udp_enable()
  tipc: use lock_sock() in tipc_sk_reinit()
  net/mlx5e: Remove the false indication of software timestamping support
  mlxsw: core: Increase timeout during firmware flash process
  net/mlx5e: RX, Fix wrong early return in receive queue poll
  net/mlx5: Typo fix in del_sw_hw_rule
  xen/netfront: tolerate frags with no data
  VSOCK: Send reset control packet when socket is partially bound
  vhost: make sure used idx is seen before log in vhost_add_used_n()
  tipc: fix a double kfree_skb()
  tcp: fix a race in inet_diag_dump_icsk()
  sctp: initialize sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event
  qmi_wwan: Added support for Telit LN940 series
  ptr_ring: wrap back ->producer in __ptr_ring_swap_queue()
  packet: validate address length if non-zero
  packet: validate address length
  net/wan: fix a double free in x25_asy_open_tty()
  netrom: fix locking in nr_find_socket()
  net: phy: Fix the issue that netif always links up after resuming
  net: macb: restart tx after tx used bit read
  net: ipv4: do not handle duplicate fragments as overlapping
  isdn: fix kernel-infoleak in capi_unlocked_ioctl
  ipv6: tunnels: fix two use-after-free
  ipv6: explicitly initialize udp6_addr in udp_sock_create6()
  ieee802154: lowpan_header_create check must check daddr
  ibmveth: fix DMA unmap error in ibmveth_xmit_start error path
  gro_cell: add napi_disable in gro_cells_destroy
  ax25: fix a use-after-free in ax25_fillin_cb()
  ip6mr: Fix potential Spectre v1 vulnerability
  ipv4: Fix potential Spectre v1 vulnerability
  msm: camera: vfe: Quieten driver during boot
  Updated README file
  Moved SensorHAL in a separate project
  Linux 4.14.91
  drm/ioctl: Fix Spectre v1 vulnerabilities
  proc/sysctl: don't return ENOMEM on lookup when a table is unregistering
  mm: don't miss the last page because of round-off error
  ubifs: Handle re-linking of inodes correctly while recovery
  spi: imx: mx51-ecspi: Move some initialisation to prepare_message hook.
  spi: imx: add a device specific prepare_message callback
  iwlwifi: add new cards for 9560, 9462, 9461 and killer series
  iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT to old firmwares
  panic: avoid deadlocks in re-entrant console drivers
  x86/mtrr: Don't copy uninitialized gentry fields back to userspace
  Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels
  KVM: Fix UAF in nested posted interrupt processing
  kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs
  posix-timers: Fix division by zero bug
  gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers
  gpio: max7301: fix driver for use with CONFIG_VMAP_STACK
  mmc: omap_hsmmc: fix DMA API warning
  mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl
  mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support
  mmc: core: Reset HPI enabled state during re-init and in case of errors
  scsi: sd: use mempool for discard special page
  USB: serial: option: add Telit LN940 series
  USB: serial: option: add Fibocom NL668 series
  USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode)
  USB: serial: option: add HP lt4132
  USB: serial: option: add GosunCn ZTE WeLink ME3630
  USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd
  xhci: Don't prevent USB2 bus suspend in state check intended for USB3 only
  USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data
  cifs: integer overflow in in SMB2_ioctl()
  perf record: Synthesize features before events in pipe mode
  ib_srpt: Fix a use-after-free in __srpt_close_all_ch()
  ubifs: Fix directory size calculation for symlinks
  ASoC: sta32x: set ->component pointer in private struct
  block: fix infinite loop if the device loses discard capability
  block: break discard submissions into the user defined size
  Removed any GPLv2 reference
  Add SensorHAL configuration info in README.md
  Split iio_utils to separate shared library
  Moved README.md into asm330lhh driver directory
  Moved LDD driver into new folder drivers
  Added README.md file
  SensorHAL: Added ASM330LHH Android and Linux sensor Hal
  iio: imu: Add support to ASM330LHH

Change-Id: I20f1073d8b71ccbda549049d5e81647e66059b99
Signed-off-by: Rohith Palakurthi <prohit@codeaurora.org>
diff --git a/Documentation/devicetree/bindings/display/msm/sde.txt b/Documentation/devicetree/bindings/display/msm/sde.txt
index 85dea59..65c49d6 100644
--- a/Documentation/devicetree/bindings/display/msm/sde.txt
+++ b/Documentation/devicetree/bindings/display/msm/sde.txt
@@ -443,6 +443,8 @@
 				ordering block
 				0: lower priority pipe has to be on the left for a given pair of pipes.
 				1: priority have to be explicitly configured for a given pair of pipes.
+- qcom,sde-num-mnoc-ports:	A u32 property to indicate the number of mnoc ports
+- qcom,sde-axi-bus-width:	A u32 property to indicate the axi bus width value in bytes
 
 Bus Scaling Subnodes:
 - qcom,sde-reg-bus:		Property to provide Bus scaling for register access for
diff --git a/arch/arm64/boot/dts/qcom/trinket-sde.dtsi b/arch/arm64/boot/dts/qcom/trinket-sde.dtsi
index 94192d4..ae1261e 100644
--- a/arch/arm64/boot/dts/qcom/trinket-sde.dtsi
+++ b/arch/arm64/boot/dts/qcom/trinket-sde.dtsi
@@ -185,6 +185,8 @@
 		qcom,sde-reg-dma-trigger-off = <0x119c>;
 
 		qcom,sde-secure-sid-mask = <0x0000401>;
+		qcom,sde-num-mnoc-ports = <1>;
+		qcom,sde-axi-bus-width = <16>;
 
 		qcom,sde-sspp-vig-blocks {
 			qcom,sde-vig-csc-off = <0x1a00>;
diff --git a/drivers/gpu/drm/bridge/analogix-anx7625.c b/drivers/gpu/drm/bridge/analogix-anx7625.c
index b16d6de..352d7a4 100644
--- a/drivers/gpu/drm/bridge/analogix-anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix-anx7625.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
  *
  * Copyright(c) 2016, Analogix Semiconductor. All rights reserved.
  *
@@ -1253,10 +1253,14 @@ static void anx7625_bridge_disable(struct drm_bridge *bridge)
 
 	mutex_lock(&anx7625->lock);
 
-	anx7625_stop(anx7625);
-
 	anx7625->enabled = false;
 
+	if (!anx7625->powered)
+		goto out;
+
+	anx7625_stop(anx7625);
+
+out:
 	mutex_unlock(&anx7625->lock);
 
 	TRACE("anx7625 disabled\n");
@@ -1291,6 +1295,9 @@ static void anx7625_bridge_enable(struct drm_bridge *bridge)
 
 	anx7625->enabled = true;
 
+	if (!anx7625->powered)
+		goto out;
+
 	if (!anx7625->connected)
 		DRM_ERROR("cable is not connected\n");
 
@@ -1301,6 +1308,7 @@ static void anx7625_bridge_enable(struct drm_bridge *bridge)
 	if (err)
 		DRM_ERROR("Failed to start: %d\n", err);
 
+out:
 	mutex_unlock(&anx7625->lock);
 
 	TRACE("anx7625 enabled\n");
@@ -1512,10 +1520,48 @@ static const struct of_device_id anx7625_id_match_table[] = {
 MODULE_DEVICE_TABLE(of, anx7625_id_match_table);
 #endif
 
+#ifdef CONFIG_PM_SLEEP
+static int anx7625_suspend(struct device *dev)
+{
+	struct i2c_client *client = to_i2c_client(dev);
+	struct anx7625 *anx7625 = i2c_get_clientdata(client);
+
+	mutex_lock(&anx7625->lock);
+
+	anx7625_poweroff(anx7625);
+
+	mutex_unlock(&anx7625->lock);
+
+	return 0;
+}
+
+static int anx7625_resume(struct device *dev)
+{
+	struct i2c_client *client = to_i2c_client(dev);
+	struct anx7625 *anx7625 = i2c_get_clientdata(client);
+
+	mutex_lock(&anx7625->lock);
+
+	anx7625->last_read_DevAddr = 0;
+
+	anx7625_poweron(anx7625);
+
+	if (anx7625->enabled)
+		anx7625_start(anx7625);
+
+	mutex_unlock(&anx7625->lock);
+
+	return 0;
+}
+#endif
+
+static SIMPLE_DEV_PM_OPS(anx7625_pm, anx7625_suspend, anx7625_resume);
+
 static struct i2c_driver anx7625_driver = {
 	.driver = {
 		.name = "anx7625",
 		.owner = THIS_MODULE,
+		.pm = &anx7625_pm,
 #ifdef CONFIG_OF
 		.of_match_table = anx7625_id_match_table,
 #endif
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 98a7abc..d95fae3 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -51,10 +51,6 @@ static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr,
 				     int id,
 				     struct drm_dp_payload *payload);
 
-static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
-				  struct drm_dp_mst_port *port,
-				  int offset, int size, u8 *bytes);
-
 static void drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
 				     struct drm_dp_mst_branch *mstb);
 static int drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr,
@@ -1212,9 +1208,8 @@ static void drm_dp_add_port(struct drm_dp_mst_branch *mstb,
 			drm_dp_put_port(port);
 			goto out;
 		}
-		if ((port->pdt == DP_PEER_DEVICE_DP_LEGACY_CONV ||
-		     port->pdt == DP_PEER_DEVICE_SST_SINK) &&
-		    port->port_num >= DP_MST_LOGICAL_PORT_0) {
+		if (port->pdt == DP_PEER_DEVICE_DP_LEGACY_CONV ||
+		     port->pdt == DP_PEER_DEVICE_SST_SINK) {
 			port->cached_edid = drm_get_edid(port->connector, &port->aux.ddc);
 			drm_mode_connector_set_tile_property(port->connector);
 		}
@@ -1252,6 +1247,13 @@ static void drm_dp_update_port(struct drm_dp_mst_branch *mstb,
 		}
 	}
 	if (old_pdt != port->pdt && !port->input) {
+		if ((old_pdt == DP_PEER_DEVICE_DP_LEGACY_CONV ||
+		     old_pdt == DP_PEER_DEVICE_SST_SINK) &&
+		    port->port_num < DP_MST_LOGICAL_PORT_0) {
+			kfree(port->cached_edid);
+			port->cached_edid = NULL;
+		}
+
 		drm_dp_port_teardown_pdt(port, old_pdt);
 
 		if (drm_dp_port_setup_pdt(port))
@@ -1403,7 +1405,6 @@ static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr,
 	return false;
 }
 
-#if 0
 static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes)
 {
 	struct drm_dp_sideband_msg_req_body req;
@@ -1416,7 +1417,6 @@ static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32
 
 	return 0;
 }
-#endif
 
 static int drm_dp_send_sideband_msg(struct drm_dp_mst_topology_mgr *mgr,
 				    bool up, u8 *msg, int len)
@@ -1982,8 +1982,7 @@ int drm_dp_update_payload_part2(struct drm_dp_mst_topology_mgr *mgr)
 }
 EXPORT_SYMBOL(drm_dp_update_payload_part2);
 
-#if 0 /* unused as of yet */
-static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
+int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
 				 struct drm_dp_mst_port *port,
 				 int offset, int size, u8 *bytes)
 {
@@ -2037,11 +2036,11 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
 	drm_dp_put_mst_branch_device(mstb);
 	return ret;
 }
-#endif
+EXPORT_SYMBOL(drm_dp_send_dpcd_read);
 
-static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
-				  struct drm_dp_mst_port *port,
-				  int offset, int size, u8 *bytes)
+int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
+			   struct drm_dp_mst_port *port,
+			   int offset, int size, u8 *bytes)
 {
 	int len;
 	int ret;
@@ -2075,6 +2074,7 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
 	drm_dp_put_mst_branch_device(mstb);
 	return ret;
 }
+EXPORT_SYMBOL(drm_dp_send_dpcd_write);
 
 static int drm_dp_encode_up_ack_reply(struct drm_dp_sideband_msg_tx *msg, u8 req_type)
 {
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 1608373..6b649c6 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -291,7 +291,8 @@ static void dp_display_hdcp_deregister_stream(struct dp_display_private *dp,
 		enum dp_stream_id stream_id)
 {
 	if (dp->hdcp.ops->deregister_streams) {
-		struct stream_info stream = {stream_id, 0};
+		struct stream_info stream = {stream_id,
+				dp->active_panels[stream_id]->vcpi};
 
 		pr_debug("Deregistering stream within HDCP library");
 		dp->hdcp.ops->deregister_streams(dp->hdcp.data, 1, &stream);
@@ -307,12 +308,21 @@ static void dp_display_hdcp_cb_work(struct work_struct *work)
 	void *data;
 	int rc = 0;
 	u32 hdcp_auth_state;
+	u8 sink_status = 0;
 
 	dp = container_of(dw, struct dp_display_private, hdcp_cb_work);
 
 	if (!dp->power_on || !dp->is_connected || atomic_read(&dp->aborted))
 		return;
 
+	drm_dp_dpcd_readb(dp->aux->drm_aux, DP_SINK_STATUS, &sink_status);
+	sink_status &= (DP_RECEIVE_PORT_0_STATUS | DP_RECEIVE_PORT_1_STATUS);
+	if (sink_status < 1) {
+		pr_debug("Sink not synchronized. Queuing again then exiting\n");
+		queue_delayed_work(dp->wq, &dp->hdcp_cb_work, HZ);
+		return;
+	}
+
 	status = &dp->link->hdcp_status;
 
 	if (status->hdcp_state == HDCP_STATE_INACTIVE) {
@@ -1679,9 +1689,8 @@ static int dp_display_pre_disable(struct dp_display *dp_display, void *panel)
 			dp_display_hdcp_deregister_stream(dp,
 				dp_panel->stream_id);
 			for (i = DP_STREAM_0; i < DP_STREAM_MAX; i++) {
-				if (i != dp_panel->stream_id)
-					continue;
-				if (dp->active_panels[i]) {
+				if (i != dp_panel->stream_id &&
+						dp->active_panels[i]) {
 					pr_debug("Streams are still active. Skip disabling HDCP\n");
 					goto stream;
 				}
diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c b/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
index 2faccad..0094d4c 100644
--- a/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
+++ b/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
@@ -1278,23 +1278,15 @@ int dsi_display_link_clk_force_update(void *client)
 		goto error;
 	}
 
-	rc = dsi_display_link_clk_disable(l_clks,
-			(DSI_LINK_LP_CLK | DSI_LINK_HS_CLK),
-			mngr->dsi_ctrl_count, mngr->master_ndx);
-	if (rc) {
-		pr_err("%s, failed to stop link clk, rc = %d\n",
-			__func__, rc);
+	rc = dsi_clk_update_link_clk_state(mngr, l_clks, (DSI_LINK_LP_CLK |
+				DSI_LINK_HS_CLK), DSI_CLK_OFF, false);
+	if (rc)
 		goto error;
-	}
 
-	rc = dsi_display_link_clk_enable(l_clks,
-			(DSI_LINK_LP_CLK | DSI_LINK_HS_CLK),
-			mngr->dsi_ctrl_count, mngr->master_ndx);
-	if (rc) {
-		pr_err("%s, failed to start link clk rc= %d\n",
-			__func__, rc);
+	rc = dsi_clk_update_link_clk_state(mngr, l_clks, (DSI_LINK_LP_CLK |
+				DSI_LINK_HS_CLK), DSI_CLK_ON, true);
+	if (rc)
 		goto error;
-	}
 
 error:
 	mutex_unlock(&mngr->clk_mutex);
diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c b/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
index 70dbd16..3757898 100644
--- a/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
+++ b/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
@@ -1496,7 +1496,7 @@ static int dsi_message_rx(struct dsi_ctrl *dsi_ctrl,
 	cmd = buff[0];
 	switch (cmd) {
 	case MIPI_DSI_RX_ACKNOWLEDGE_AND_ERROR_REPORT:
-		pr_err("Rx ACK_ERROR\n");
+		pr_err("Rx ACK_ERROR 0x%x\n", cmd);
 		rc = 0;
 		break;
 	case MIPI_DSI_RX_GENERIC_SHORT_READ_RESPONSE_1BYTE:
@@ -1512,7 +1512,7 @@ static int dsi_message_rx(struct dsi_ctrl *dsi_ctrl,
 		rc = dsi_parse_long_read_resp(msg, buff);
 		break;
 	default:
-		pr_warn("Invalid response\n");
+		pr_warn("Invalid response: 0x%x\n", cmd);
 		rc = 0;
 	}
 
diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_display.c b/drivers/gpu/drm/msm/dsi-staging/dsi_display.c
index 49c29bb..18013db 100644
--- a/drivers/gpu/drm/msm/dsi-staging/dsi_display.c
+++ b/drivers/gpu/drm/msm/dsi-staging/dsi_display.c
@@ -577,8 +577,11 @@ static bool dsi_display_validate_reg_read(struct dsi_panel *panel)
 	for (j = 0; j < config->groups; ++j) {
 		for (i = 0; i < len; ++i) {
 			if (config->return_buf[i] !=
-				config->status_value[group + i])
+				config->status_value[group + i]) {
+				DRM_ERROR("mismatch: 0x%x\n",
+					  config->return_buf[i]);
 				break;
+			}
 		}
 
 		if (i == len)
@@ -819,8 +822,13 @@ int dsi_display_check_status(struct drm_connector *connector, void *display,
 	if (te_check_override && gpio_is_valid(dsi_display->disp_te_gpio))
 		status_mode = ESD_MODE_PANEL_TE;
 
+	if (status_mode == ESD_MODE_PANEL_TE) {
+		rc = dsi_display_status_check_te(dsi_display);
+		goto exit;
+	}
+
 	dsi_display_clk_ctrl(dsi_display->dsi_clk_handle,
-		DSI_ALL_CLKS, DSI_CLK_ON);
+			     DSI_ALL_CLKS, DSI_CLK_ON);
 
 	/* Mask error interrupts before attempting ESD read */
 	mask = BIT(DSI_FIFO_OVERFLOW) | BIT(DSI_FIFO_UNDERFLOW);
@@ -831,25 +839,24 @@ int dsi_display_check_status(struct drm_connector *connector, void *display,
 		rc = dsi_display_status_reg_read(dsi_display);
 	} else if (status_mode == ESD_MODE_SW_BTA) {
 		rc = dsi_display_status_bta_request(dsi_display);
-	} else if (status_mode == ESD_MODE_PANEL_TE) {
-		rc = dsi_display_status_check_te(dsi_display);
 	} else {
-		pr_warn("unsupported check status mode\n");
+		pr_warn("Unsupported ESD check mode: %d\n", status_mode);
 		panel->esd_config.esd_enabled = false;
 	}
 
-	/* Unmask error interrupts */
+	/* Unmask error interrupts if check passed */
 	if (rc > 0) {
 		dsi_display_set_ctrl_esd_check_flag(dsi_display, false);
-		dsi_display_mask_ctrl_error_interrupts(dsi_display, mask,
-							false);
-	} else {
-		/* Handle Panel failures during display disable sequence */
-		atomic_set(&panel->esd_recovery_pending, 1);
+		dsi_display_mask_ctrl_error_interrupts(dsi_display,
+						       mask, false);
 	}
-
 	dsi_display_clk_ctrl(dsi_display->dsi_clk_handle,
-		DSI_ALL_CLKS, DSI_CLK_OFF);
+			     DSI_ALL_CLKS, DSI_CLK_OFF);
+
+exit:
+	/* Handle Panel failures during display disable sequence */
+	if (rc <= 0)
+		atomic_set(&panel->esd_recovery_pending, 1);
 
 release_panel_lock:
 	dsi_panel_release_panel_lock(panel);
diff --git a/drivers/gpu/drm/msm/sde/sde_crtc.c b/drivers/gpu/drm/msm/sde/sde_crtc.c
index 3a88493..86c4638 100644
--- a/drivers/gpu/drm/msm/sde/sde_crtc.c
+++ b/drivers/gpu/drm/msm/sde/sde_crtc.c
@@ -91,8 +91,9 @@ static struct sde_crtc_custom_events custom_events[] = {
 #define MAX_FRAME_COUNT			1000
 #define MILI_TO_MICRO			1000
 
-/* Line padding ratio limit */
-#define MAX_VPADDING_RATIO		3
+/* default line padding ratio limitation */
+#define MAX_VPADDING_RATIO_M		63
+#define MAX_VPADDING_RATIO_N		15
 
 static inline struct sde_kms *_sde_crtc_get_kms(struct drm_crtc *crtc)
 {
@@ -1681,7 +1682,7 @@ static int _sde_crtc_check_panel_stacking(struct drm_crtc *crtc,
 	m = state->mode.vdisplay / gcd;
 	n = mode_info.vpadding / gcd - m;
 
-	if (m > MAX_VPADDING_RATIO || n > MAX_VPADDING_RATIO) {
+	if (m > MAX_VPADDING_RATIO_M || n > MAX_VPADDING_RATIO_N) {
 		SDE_ERROR("unsupported panel stacking pattern %d:%d", m, n);
 		return -EINVAL;
 	}
@@ -5713,6 +5714,10 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
 			catalog->perf.amortizable_threshold);
 	sde_kms_info_add_keyint(info, "min_prefill_lines",
 			catalog->perf.min_prefill_lines);
+	sde_kms_info_add_keyint(info, "num_mnoc_ports",
+			catalog->perf.num_mnoc_ports);
+	sde_kms_info_add_keyint(info, "axi_bus_width",
+			catalog->perf.axi_bus_width);
 	sde_kms_info_add_keyint(info, "sec_ui_blendstage",
 			catalog->sui_supported_blendstage);
 
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_catalog.c b/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
index 4c8d8f9..9efc9a9 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
+++ b/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
@@ -131,6 +131,8 @@
 		"NV12/5/1/1.25 AB24/5/1/1.25 XB24/5/1/1.25"
 #define DEFAULT_MAX_PER_PIPE_BW			2400000
 #define DEFAULT_AMORTIZABLE_THRESHOLD		25
+#define DEFAULT_MNOC_PORTS			2
+#define DEFAULT_AXI_BUS_WIDTH			32
 #define DEFAULT_CPU_MASK			0
 #define DEFAULT_CPU_DMA_LATENCY			PM_QOS_DEFAULT_VALUE
 
@@ -204,6 +206,8 @@ enum {
 	PERF_CPU_DMA_LATENCY,
 	PERF_QOS_LUT_MACROTILE_QSEED,
 	PERF_SAFE_LUT_MACROTILE_QSEED,
+	PERF_NUM_MNOC_PORTS,
+	PERF_AXI_BUS_WIDTH,
 	PERF_PROP_MAX,
 };
 
@@ -506,6 +510,10 @@ static struct sde_prop_type sde_perf_prop[] = {
 			false, PROP_TYPE_U32_ARRAY},
 	{PERF_SAFE_LUT_MACROTILE_QSEED, "qcom,sde-safe-lut-macrotile-qseed",
 			false, PROP_TYPE_U32_ARRAY},
+	{PERF_NUM_MNOC_PORTS, "qcom,sde-num-mnoc-ports",
+			false, PROP_TYPE_U32},
+	{PERF_AXI_BUS_WIDTH, "qcom,sde-axi-bus-width",
+			false, PROP_TYPE_U32},
 };
 
 static struct sde_prop_type sspp_prop[] = {
@@ -3271,6 +3279,16 @@ static int sde_perf_parse_dt(struct device_node *np, struct sde_mdss_cfg *cfg)
 			PROP_VALUE_ACCESS(prop_value,
 					PERF_AMORTIZABLE_THRESHOLD, 0) :
 			DEFAULT_AMORTIZABLE_THRESHOLD;
+	cfg->perf.num_mnoc_ports =
+			prop_exists[PERF_NUM_MNOC_PORTS] ?
+			PROP_VALUE_ACCESS(prop_value,
+				PERF_NUM_MNOC_PORTS, 0) :
+			DEFAULT_MNOC_PORTS;
+	cfg->perf.axi_bus_width =
+			prop_exists[PERF_AXI_BUS_WIDTH] ?
+			PROP_VALUE_ACCESS(prop_value,
+				PERF_AXI_BUS_WIDTH, 0) :
+			DEFAULT_AXI_BUS_WIDTH;
 
 	if (prop_exists[PERF_DANGER_LUT] && prop_count[PERF_DANGER_LUT] <=
 			SDE_QOS_LUT_USAGE_MAX) {
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_catalog.h b/drivers/gpu/drm/msm/sde/sde_hw_catalog.h
index b402f10..e2590c4 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_catalog.h
+++ b/drivers/gpu/drm/msm/sde/sde_hw_catalog.h
@@ -994,6 +994,8 @@ struct sde_perf_cdp_cfg {
  * @cdp_cfg            cdp use case configurations
  * @cpu_mask:          pm_qos cpu mask value
  * @cpu_dma_latency:   pm_qos cpu dma latency value
+ * @axi_bus_width:     axi bus width value in bytes
+ * @num_mnoc_ports:    number of mnoc ports
  */
 struct sde_perf_cfg {
 	u32 max_bw_low;
@@ -1020,6 +1022,8 @@ struct sde_perf_cfg {
 	struct sde_perf_cdp_cfg cdp_cfg[SDE_PERF_CDP_USAGE_MAX];
 	u32 cpu_mask;
 	u32 cpu_dma_latency;
+	u32 axi_bus_width;
+	u32 num_mnoc_ports;
 };
 
 /**
diff --git a/drivers/gpu/drm/msm/sde/sde_rm.h b/drivers/gpu/drm/msm/sde/sde_rm.h
index c7db3b8..7cb3088 100644
--- a/drivers/gpu/drm/msm/sde/sde_rm.h
+++ b/drivers/gpu/drm/msm/sde/sde_rm.h
@@ -256,13 +256,6 @@ bool sde_rm_get_hw(struct sde_rm *rm, struct sde_rm_hw_iter *iter);
 bool sde_rm_request_hw_blk(struct sde_rm *rm, struct sde_rm_hw_request *hw);
 
 /**
- * sde_rm_check_property_topctl - validate property bitmask before it is set
- * @val: user's proposed topology control bitmask
- * @Return: 0 on success or error
- */
-int sde_rm_check_property_topctl(uint64_t val);
-
-/**
  * sde_rm_cont_splash_res_init - Read the current MDSS configuration
  *	to update the splash data structure with the topology
  *	configured by the bootloader.
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h
index 7f78d26..a72efa0 100644
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -634,4 +634,12 @@ int drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
 int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr,
 				 struct drm_dp_mst_port *port, bool power_up);
 
+int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
+			   struct drm_dp_mst_port *port,
+			   int offset, int size, u8 *bytes);
+
+int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
+				 struct drm_dp_mst_port *port,
+				 int offset, int size, u8 *bytes);
+
 #endif