1
0
Fork 0
Commit Graph

41936 Commits (redonkable)

Author SHA1 Message Date
Ioana Ciornei 959a22bedb bus: fsl-mc: add root dprc rescan attribute
Introduce the rescan attribute as a device attribute to
synchronize the fsl-mc bus objects and the MC firmware.

To rescan the root dprc only, e.g.
echo 1 > /sys/bus/fsl-mc/devices/dprc.1/rescan

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
2019-12-02 18:03:39 +08:00
Ioana Ciornei 672699a389 bus: fsl-mc: add fsl-mc userspace support
Adding userspace support for the MC (Management Complex) means exporting
an ioctl capable device file representing the root resource container.

This new functionality in the fsl-mc bus driver intends to provide
userspace applications an interface to interact with the MC firmware.

Commands that are composed in userspace are sent to the MC firmware
through the FSL_MC_SEND_MC_COMMAND ioctl.  By default the implicit MC
I/O portal is used for this operation, but if the implicit one is busy,
a dynamic portal is allocated and then freed upon execution.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
2019-12-02 18:03:38 +08:00
Dong Aisheng b3d472cf0c Merge branch 'mxc/next' into next
* mxc/next: (119 commits)
  mxc: hdmi-cec: Add imx6 hdmi cec driver
  driver: mfd: hdmi: Add hdmi core driver
  MLK-22399 mxc IPUv3: cpmem: Get 0 u/v_offset in __ipu_ch_offset_calc() for some pfmts
  mxc: IPU3: Fix not including uapi/linux/sched/types.h
  media: platform: mxc: output: Forward IPUv3 V4L2 output driver from imx_4.19.y
  ...
2019-12-02 18:02:35 +08:00
Dong Aisheng 093e21c5ca Merge branch 'mailbox/next' into next
* mailbox/next: (6 commits)
  mailbox: imx: add support for imx v1 mu
  dt-bindings: mailbox: imx-mu: add imx7ulp MU support
  mailbox: imx: Clear the right interrupts at shutdown
  mailbox: imx: Fix Tx doorbell shutdown path
  mailbox: imx: change to arch_init()
  ...
2019-12-02 18:02:32 +08:00
Dong Aisheng 0e41cf483e Merge branch 'keys/next' into next
* keys/next:
  encrypted_keys: Adds support for secure key-type as master key.
  security/keys/secure_key: Adds the secure key support based on CAAM.
2019-12-02 18:02:30 +08:00
Dong Aisheng 3171cbbd6e Merge branch 'input/next' into next
* input/next: (18 commits)
  LF-175: input: keyboard: imx_sc_pwrkey: fix no release event reported
  LF-68-1: input: keyboard: snvs_pwrkey: add clk management
  MLK-22977 input: imx_sc_pwrkey: Correct message format to avoid stack corruption
  input: keyboard: imx_sc: Correct SCFW API parameter to fix NULL pointer crash
  input: keyboard: imx_sc_pwrkey: add PWRON key driver
  ...
2019-12-02 18:02:28 +08:00
Dong Aisheng a44f25b882 Merge branch 'i2c/next' into next
* i2c/next: (28 commits)
  LF-263-2 i2c: imx: increase PM timeout to avoid operate clk frequently
  LF-263-1 i2c: lpi2c: increase PM timeout to avoid operate clk frequently
  i2c: mux: pca954x: support property idle-state
  dt-bindings: i2c: support property idle-state
  LF-98 i2c: imx: fix the judgement of slave mode in isr
  ...
2019-12-02 18:02:28 +08:00
Dong Aisheng a83b0af812 Merge branch 'gpio/next' into next
* gpio/next: (12 commits)
  gpio : mpc8xxx : ls1088a/ls1028a edge detection mode bug fixs.
  gpio: mpc8xxx: Don't overwrite default irq_set_type callback
  gpio/mpc8xxx: change irq handler from chained to normal
  MLK-22733 gpio: mxc: use platform_get_irq_optional() to avoid error message
  gpio: pca953x: no need to do regcache sync without vcc regulator
  ...
2019-12-02 18:02:27 +08:00
Dong Aisheng 3e8c4bdbf7 Merge branch 'dts/next' into next
* dts/next: (765 commits)
  arm64: dts: fsl: ls1028a: Disable eno3 and make swp5 the Felix CPU port
  arm64: dts: fsl: ls1028a: Specify that the Felix port 4 runs at 2.5Gbps
  arm64: dts: fsl: Drop "compatible" string from Felix switch
  arm64: dts: fsl: Specify phy-mode for CPU ports
  LF-261: arm64: dts: imx8mq: Set parent clock for IMX8MQ_CLK_AUDIO_AHB
  ...
2019-12-02 18:02:25 +08:00
Dong Aisheng dbdab14cb0 Merge branch 'dma/next' into next
* dma/next: (52 commits)
  LF-301: dmaengine: imx-sdma: Add once more loading firmware
  LF-246: dmaengine: imx-sdma: correct is_ram_script checking
  dma: caam: fix compilation error
  dma: caam: add dma memcpy driver
  dmaengine: fsl-dpaa2-qdma: Add NXP dpaa2 qDMA controller driver for Layerscape SoCs
  ...
2019-12-02 18:02:24 +08:00
Dong Aisheng 240dd9ec8c Merge branch 'display/next' into next
* display/next: (340 commits)
  LF-94: drm: hdmi: imx: Add hdmi phy video mode valid function
  drm: hdmi: imx8: fix wrong hdmi type with non-SCDC HDMI sinks
  Revert "drm/imx/hdp: fix issue with non-SCDC HDMI sinks"
  drm/bridge: nwl-dsi Correct the DSI init sequence
  gpu: imx: framegen: Use crtc_clock instead of mode clock
  ...
2019-12-02 18:02:24 +08:00
Dong Aisheng 9872ac8647 Merge branch 'clock/next' into next
* clock/next: (122 commits)
  LF-279 clk: imx: scu: ignore cpu resources when do owned check
  clk: s32v234: Enable FlexCAN clock
  clk: s32v234: Add definitions for CAN clocks
  clk: imx: Add missing mipi1_dsi_phy_clk
  LF-202-3 clk: imx: scu: ignore clks not owned
  ...
2019-12-02 18:02:07 +08:00
Dong Aisheng 1e188020fb Merge branch 'capture/next' into next
* capture/next: (68 commits)
  LF-237 media: ov5640_mipi: fix regulator dump when i2c access for camera fail
  staging: media: imx: add g_parm/s_parm for imx8 capture device
  staging: media: imx: enable ISI for imx8mn platform
  media: staging: imx: add media device driver support for IMX8
  LF-115: media: i2c: ov5640: fix enumerate capture mode issue
  ...
2019-12-02 18:02:07 +08:00
Dong Aisheng 45efd194bf Merge branch 'audio/next' into next
* audio/next: (528 commits)
  LF-276: ASoC: fsl_easi: constrain period size for edma case
  LF-215: ASoC: fsl_rpmsg_i2s: Enable WQ_FREEZABLE for workqueue
  ASoC: SOF: Read tplg filename from board descriptor
  ASoC: SOF: Update fw_filename from board description
  ASoC: SOF: Allow probe to continue when we have an actual codec
  ...
2019-12-02 18:02:06 +08:00
Dong Aisheng 8c64fabeb0 Merge branch 'core' into next
* core: (8 commits)
  Revert "jffs2: Fix possible null-pointer dereferences in jffs2_add_frag_to_fragtree()"
  of: of_reserved_mem: Ensure cma reserved region not cross the low/high memory
  mm: Re-export ioremap_page_range
  nand: raw: workaround for EDO high speed mode
  cgroup/bfq: revert bfq.weight symlink change
  ...
2019-12-02 18:02:05 +08:00
Dong Aisheng 8baeb551e7 Merge remote-tracking branch 'origin/usb/typec' into usb/next
* origin/usb/typec: (11 commits)
  usb: typec: tcpci: add pm ops to disable irq
  MLK-16013-43 usb: typec: tcpm: add extcon support for data role switch
  MLK-16013-17 usb: typec: tcpm: set cc when attached
  MLK-22452-2 usb: typec: mux: add nxp cbtl04gp super speed mux compatible
  MLK-22452-1 usb: typec: mux: add reset gpio for gpio switch
  ...
2019-12-02 18:02:02 +08:00
Dong Aisheng b4e4776fd6 Merge remote-tracking branch 'origin/usb/phy' into usb/next
* origin/usb/phy: (14 commits)
  Doc: ABI: add usb charger uevent
  usb: phy: show USB charger type for user
  MLK-19850-1 usb: phy: mxs: add DCD implementation
  MLK-16576 usb: phy: mxs: set hold_ring_off for USB2 PLL power up
  MLK-14947-2 usb: phy: add mxs phy driver dependency for ARM64
  ...
2019-12-02 18:02:02 +08:00
Dong Aisheng 7866db2c15 Merge remote-tracking branch 'origin/usb/dwc3' into usb/next
* origin/usb/dwc3: (10 commits)
  usb: dwc3: Add cache type configuration support
  usb: dwc3: Add chip-specific compatible string
  MLK-22675 usb: dwc3: host: disable park mode
  usb: dwc3: Add workaround for host mode VBUS glitch when boot
  usb: dwc3: Add avoiding vbus glitch happen during xhci reset
  ...
2019-12-02 18:02:01 +08:00
Dong Aisheng 242101792d Merge remote-tracking branch 'origin/usb/core' into usb/next
* origin/usb/core: (11 commits)
  MLK-22099 usb: host: xhci: do warm reset for link state rxdect
  MLK-16604-1 usb: host: xhci-plat: add XHCI_MISSING_CAS quirk
  MLK-16604-3 dt-bindings: usb: xhci: add usb3-resume-missing-cas property
  MLK-9829 usb: core: print suggested message if failed to get device descriptor
  MLK-18794-1 usb: host: xhci: add .bus_suspend override
  ...
2019-12-02 18:02:01 +08:00
Dong Aisheng ce5fa8ff67 Merge remote-tracking branch 'origin/usb/chipidea' into usb/next
* origin/usb/chipidea: (51 commits)
  MLK-22752-3 usb: chipidea: imx: pinctrl for HSIC is optional
  MLK-22752-2 usb: chipidea: imx: refine the error handling for hsic
  MLK-22752-1 usb: chipidea: imx: change hsic power regulator as optional
  MLK-21900-2 usb: chipidea: imx: turn off vbus comparator when suspend
  MLK-21900-1 usb: chipidea: imx: group usbmisc operations for PM
  ...
2019-12-02 18:01:59 +08:00
Dong Aisheng f7bb9c8545 Merge remote-tracking branch 'origin/spi/qspi' into spi/next
* origin/spi/qspi:
  spi: spi-fsl-qspi: Introduce variable to fix different invalid master Id
  dt-bindings: spi: spi-fsl-qspi: Add bindings of ls1088a and ls1012a
  spi: spi-fsl-qspi: dynamically alloc AHB memory for QSPI
2019-12-02 18:01:58 +08:00
Dong Aisheng e09f1585c5 Merge remote-tracking branch 'origin/pm/qoriq' into pm/next
* origin/pm/qoriq:
  drivers/soc/fsl: add EPU FSM configuration for deep sleep
  fsl_pmc: update device bindings
  soc: fsl: add RCPM driver
  Documentation: dt: binding: fsl: Add 'little-endian' and update Chassis define
2019-12-02 18:01:54 +08:00
Dong Aisheng 447e002898 Merge remote-tracking branch 'origin/pcie/mobiveil' into pcie/next
* origin/pcie/mobiveil: (14 commits)
  misc: pci_endpoint_test: Add the layerscape PCIe GEN4 EP device support
  PCI: mobiveil: Add workaround for unsupported request error
  PCI: mobiveil: Add PCIe Gen4 EP driver for NXP Layerscape SoCs
  dt-bindings: Add DT binding for PCIE GEN4 EP of the layerscape
  PCI: mobiveil: Add the EP driver support
  ...
2019-12-02 18:01:51 +08:00
Dong Aisheng 8a60512601 Merge remote-tracking branch 'origin/pcie/dwc' into pcie/next
* origin/pcie/dwc: (22 commits)
  LF-128 PCI: imx: turn off the clocks and regulators when link is down
  PCI: imx: add the imx pcie ep verification solution
  MLK-22995: pci: controller: dwc: pci-imx6: fix regulator warning complains on i.mx6sx-sdb
  PCI: dwc: fix the msi failure after pm operations
  Revert "MLK-11484-3 PCI: designware: Refine setup_rc and add msi data restore"
  ...
2019-12-02 18:01:51 +08:00
Dong Aisheng cc1abcec4b Merge remote-tracking branch 'origin/input/touch' into input/next
* origin/input/touch: (12 commits)
  MLK-19751 input: synaptics_dsx: free touch irq when touch suspend
  MLK-18816-2 input/touch: do not clear touch interrupt when enable irq
  MLK-17829 touchscreen: Add synaptics_dsx S3508 i2c touch driver
  MLK-14392-1 input: touch: add focaltech touch screen support
  MLK-18636 Input: egalax_ts: Restore call to i2c_set_clientdata
  ...
2019-12-02 18:01:20 +08:00
Dong Aisheng 3c1f476273 Merge remote-tracking branch 'origin/dts/qoriq' into dts/next
* origin/dts/qoriq: (105 commits)
  arm64: dts: fsl: ls1028a: Disable eno3 and make swp5 the Felix CPU port
  arm64: dts: fsl: ls1028a: Specify that the Felix port 4 runs at 2.5Gbps
  arm64: dts: fsl: Drop "compatible" string from Felix switch
  arm64: dts: fsl: Specify phy-mode for CPU ports
  arm64: dts: ls1028a: Add DP DT nodes
  ...
2019-12-02 18:01:17 +08:00
Dong Aisheng 52e3d2b6ed Merge remote-tracking branch 'origin/dma/sdma' into dma/next
* origin/dma/sdma: (23 commits)
  LF-301: dmaengine: imx-sdma: Add once more loading firmware
  LF-246: dmaengine: imx-sdma: correct is_ram_script checking
  MLK-23005: dmaengine: imx-sdma: correct data size of channel context
  MLK-22972 dmaengine: imx-sdma: correct the script number for v3
  dma: imx-sdma: Add pm_ops to support suspend & resume
  ...
2019-12-02 18:01:15 +08:00
Dong Aisheng f73b88b974 Merge remote-tracking branch 'origin/display/panel' into display/next
* origin/display/panel:
  drm/panel: rm67191: Add dev_err for reset gpio
  drm/panel: simple: Add support for JDI TX26D202VM0BWA panel
  dt-bindings: display: Add JDI TX26D202VM0BWA LCD panel bindings
  drm/panel: rm67191: Remove CLOCK_NON_CONTINUOUS flag
2019-12-02 18:01:11 +08:00
Dong Aisheng 356e74dcf7 Merge remote-tracking branch 'origin/display/nwl-dsi' into display/next
* origin/display/nwl-dsi: (14 commits)
  drm/bridge: nwl-dsi Correct the DSI init sequence
  drm/bridge: nwl-dsi: Fix find_panel_or_bridge
  drm/bridge: nwl-dsi: Add support for 8QM and 8QXP
  drm/bridge: nwl-dsi: Add support for component framework
  phy: imx8-mipi-dphy: Add support for 8QM and 8QXP
  ...
2019-12-02 18:01:10 +08:00
Dong Aisheng 34ac946b63 Merge remote-tracking branch 'origin/display/mxsfb' into display/next
* origin/display/mxsfb: (14 commits)
  drm/mxsfb: Add support for live pixel format change
  drm/mxsfb: Add support for horizontal stride
  drm/mxsfb: Clear OUTSTANDING_REQS bits
  drm/mxsfb: Improve the axi clock usage
  drm/mxsfb: Update mxsfb to support LCD reset
  ...
2019-12-02 18:01:09 +08:00
Dong Aisheng ce491fc5a6 Merge remote-tracking branch 'origin/display/mali' into display/next
* origin/display/mali:
  drm/arm/mali-dp: Add display QoS interface configuration for Mali DP500
  dt/bindings: display: Add optional property node define for Mali DP500
2019-12-02 18:01:09 +08:00
Dong Aisheng d8a6ae95b3 Merge remote-tracking branch 'origin/display/ldb' into display/next
* origin/display/ldb: (11 commits)
  drm/imx: ldb: Add dual channel mode support for i.MX8QXP
  dt-bindings: display: imx: ldb: Add i.MX8qxp LDB dual channel mode documentation
  dt-bindings: display: imx: ldb: Correct pixel and bypass clock description
  drm/imx: ldb: Add system power management support
  MLK-21876-23 drm/imx: ldb: fix incorrect color displayed for mx8qxp
  ...
2019-12-02 18:01:08 +08:00
Dong Aisheng a1cb6f9924 Merge remote-tracking branch 'origin/display/dpu' into display/next
* origin/display/dpu: (73 commits)
  gpu: imx: framegen: Use crtc_clock instead of mode clock
  gpu: imx: dpu: common: Initialize SCU misc settings in dpu_resume()
  LF-73 gpu: imx: dpu: sc misc: Initialze KACHUNK_CNT as needed by blit engine
  gpu: imx: dpu: sc misc: Rename dpu_pxlink_init() to dpu_sc_misc_init()
  gpu: imx: dpu: sc misc: Rename dpu_sc_misc_init() to dpu_sc_misc_get_handle()
  ...
2019-12-02 18:01:01 +08:00
Dong Aisheng 11ae29ac2e Merge remote-tracking branch 'origin/display/dcss' into display/next
* origin/display/dcss: (25 commits)
  drm/imx/dcss: Release DTRC IRQs in case of failure
  drm/imx/dcss: fix crash in DTRC exit routine
  dt-bindings: display: imx8mq-dcss: add bindings for DTRC interrupts
  drm/imx/dcss: add support for tiled formats on overlay planes
  drm/imx/dcss: change HDR10 pipes config handling
  ...
2019-12-02 18:01:00 +08:00
Dong Aisheng c8505b1bc2 Merge remote-tracking branch 'origin/clock/s32' into clock/next
* origin/clock/s32: (9 commits)
  clk: s32v234: Enable FlexCAN clock
  clk: s32v234: Add definitions for CAN clocks
  clk: s32v234: Initial enet clk support
  clk: s32v234: Add dfs clk
  clk: Enable SDHC clock for S32V234
  ...
2019-12-02 18:00:53 +08:00
Dong Aisheng 19f5dd2561 Merge remote-tracking branch 'origin/clock/qoriq' into clock/next
* origin/clock/qoriq:
  clk: ls1028a: Add clock driver for Display output interface
  dt/bindings: clk: Add YAML schemas for LS1028A Display Clock bindings
2019-12-02 18:00:53 +08:00
Dong Aisheng 3d8281ed47 Merge remote-tracking branch 'origin/capture/pi' into capture/next
* origin/capture/pi:
  LF-101: staging: media: imx: fix XR24 format R and B are opposite issue
  staging: media: imx: add video ops for imx8 parallel subdev
  staging: media: imx: add parallel capture interface driver for imx8qxp
  media: dt-bindings: add bindings for i.MX8QXP parallel interface
  imx busfreq: Add API header file
2019-12-02 18:00:52 +08:00
Dong Aisheng 9c17c11604 Merge remote-tracking branch 'origin/capture/media-dev' into capture/next
* origin/capture/media-dev:
  media: staging: imx: add media device driver support for IMX8
  media: dt-bindings: add bindings for i.MX8QXP/QM virtual media device
2019-12-02 18:00:50 +08:00
Dong Aisheng 9553b03d09 Merge remote-tracking branch 'origin/capture/media' into capture/next
* origin/capture/media: (7 commits)
  Revert "media: v4l2-ioctl: clear fields in s_parm"
  media: v4l2: export video_usercopy function
  Revert "media: v4l2-subdev.h: remove obsolete g/s_parm"
  MLK-21770: media: v4l: Add packed YUV444 24bpp pixel format
  MLK-20724: uapi: add RGBA to exend V4L2 standard format for android usage
  ...
2019-12-02 18:00:49 +08:00
Dong Aisheng 9c7f085807 Merge remote-tracking branch 'origin/capture/jpeg' into capture/next
* origin/capture/jpeg: (9 commits)
  MLK-22835: mxc-jpeg: jpeg decoder stuck due to race condition
  mxc-jpeg: Fix warning at build, for EXPORT_SYMBOL on static variable
  media: mxc-jpeg: jpeg: Replace stracpy with strscpy
  mxc-jpeg: Build mxc-jpeg as module, by default
  mxc-jpeg: Add support for multi power domain
  ...
2019-12-02 18:00:48 +08:00
Dong Aisheng 028cc80de9 Merge remote-tracking branch 'origin/capture/isi' into capture/next
* origin/capture/isi: (9 commits)
  staging: media: imx: add g_parm/s_parm for imx8 capture device
  staging: media: imx: enable ISI for imx8mn platform
  media: staging: imx: add V4L2 memory to memory driver for ISI of imx8qxp/qm
  media: staging: imx: add isi capture driver support for imx8qm/qxp
  media: staging: imx: add isi core driver support for imx8qm/qxp
  ...
2019-12-02 18:00:47 +08:00
Dong Aisheng 635de10e16 Merge remote-tracking branch 'origin/audio/spdif' into audio/next
* origin/audio/spdif: (20 commits)
  LF-106: ASoC: fsl_spdif: request BUS_FREQ_HIGH
  ASoC: fsl_spdif:Support multi power domains
  ASoC: fsl_spdif: Add pm_runtime_enable in probe
  MLK-21484-2: ASoC: fsl_spdif: ensure clk is unprepared before reparent
  MLK-19154-5: ASoC: fsl_spdif: refine PLL switch handling
  ...
2019-12-02 18:00:44 +08:00
Dong Aisheng d7ba9dc826 Merge remote-tracking branch 'origin/audio/rpmsg' into audio/next
* origin/audio/rpmsg: (59 commits)
  LF-215: ASoC: fsl_rpmsg_i2s: Enable WQ_FREEZABLE for workqueue
  ASoC: imx-pcm-rpmsg: Remove the prtd
  ASoC: imx-pcm-rpmsg: Fix writecombine/wc build error
  ASoC: rpmsg_ak4497: ignore suspend with DAPM
  Revert "ASoC: soc-pcm: remove soc_rtdcom_ack()"
  ...
2019-12-02 18:00:43 +08:00
Dong Aisheng af11fb98c2 Merge remote-tracking branch 'origin/audio/hdmi' into audio/next
* origin/audio/hdmi: (22 commits)
  ASoC: imx-hdmi: Fix compile error
  ASoC: imx-hdmi-dma: Fix issue with dma_alloc_coherent
  ASoC: imx-hdmi-dma: replace platform to component
  ASoC: imx-cdnhdmi: Fix compile error
  MLK-20183-2: ASoC: imx-cdnhdmi: reconfigure the mclk for HDMI on imx8mq
  ...
2019-12-02 18:00:42 +08:00
Dong Aisheng 25d4beddff Merge remote-tracking branch 'origin/audio/fm' into audio/next
* origin/audio/fm: (8 commits)
  MLK-11429-21: ASoC: fsl: port si476x machine driver from imx_3.10.y
  MLK-11305 radio-si476x: support set V4L2_CID_AUDIO_MUTE CTRL
  MLK-22355: mfd: si476x: Use system_freezable_wq instead of system_wq
  MLK-10055-2: mfd: si476x-i2c: sound is registered when no FM module attached
  MLK-10038-1: mfd: si476x-i2c: Add support of si476x-rev4.0 board
  ...
2019-12-02 18:00:41 +08:00
Dong Aisheng 5d9b52c341 Merge remote-tracking branch 'origin/audio/dsp' into audio/next
* origin/audio/dsp: (78 commits)
  MLK-22815-1: ASoC: fsl: dsp: Expand parameter msg size
  MLK-21144 ASoC: fsl: Fix crash with multiple open/close
  ASoC: fsl_dsp: Use new compatible string for FSL DSP
  ASoC: fsl: dsp: remove unused types.h
  MLK-21985-6 ASoC: imx-dsp: fix build for next 20190607 upgrade
  ...
2019-12-02 18:00:40 +08:00
Dong Aisheng dfc1c26529 Merge remote-tracking branch 'origin/audio/codec' into audio/next
* origin/audio/codec: (34 commits)
  LF-102: ASoC: ak4458: Support DSD512 when codec is ak4497
  ASoC: AK4458: Enable DSD for AK4497
  MLK-17817-1: ASoC: ak4458: enable daisy chain
  MLK-20189-7: ASoC: ak4458: check reset control status
  MLK-19573-2: ASoC: ak4458: enable DSD playback
  ...
2019-12-02 18:00:39 +08:00
Dong Aisheng 2e5482f337 Merge remote-tracking branch 'origin/audio/card' into audio/next
* origin/audio/card: (127 commits)
  ASoC: imx-pdm: Fix compile issue
  ASoC: imx-wm8524: remove unused audio route
  ASoC: imx-ak5558: remove unused audio route
  ASoC: imx-wm8962: change cpu-dai to audio-cpu
  ASoC: imx-sii902x: Fix compile error
  ...
2019-12-02 18:00:38 +08:00
Waiman Long 75cad94d03 x86/speculation: Fix incorrect MDS/TAA mitigation status
commit 64870ed1b1 upstream.

For MDS vulnerable processors with TSX support, enabling either MDS or
TAA mitigations will enable the use of VERW to flush internal processor
buffers at the right code path. IOW, they are either both mitigated
or both not. However, if the command line options are inconsistent,
the vulnerabilites sysfs files may not report the mitigation status
correctly.

For example, with only the "mds=off" option:

  vulnerabilities/mds:Vulnerable; SMT vulnerable
  vulnerabilities/tsx_async_abort:Mitigation: Clear CPU buffers; SMT vulnerable

The mds vulnerabilities file has wrong status in this case. Similarly,
the taa vulnerability file will be wrong with mds mitigation on, but
taa off.

Change taa_select_mitigation() to sync up the two mitigation status
and have them turned off if both "mds=off" and "tsx_async_abort=off"
are present.

Update documentation to emphasize the fact that both "mds=off" and
"tsx_async_abort=off" have to be specified together for processors that
are affected by both TAA and MDS to be effective.

 [ bp: Massage and add kernel-parameters.txt change too. ]

Fixes: 1b42f01741 ("x86/speculation/taa: Add mitigation for TSX Async Abort")
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: linux-doc@vger.kernel.org
Cc: Mark Gross <mgross@linux.intel.com>
Cc: <stable@vger.kernel.org>
Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Tyler Hicks <tyhicks@canonical.com>
Cc: x86-ml <x86@kernel.org>
Link: https://lkml.kernel.org/r/20191115161445.30809-2-longman@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-29 10:09:46 +01:00
Bjorn Andersson 2a807b1b4e ath10k: Fix HOST capability QMI incompatibility
commit 7165ef890a upstream.

The introduction of 768ec4c012 ("ath10k: update HOST capability QMI
message") served the purpose of supporting the new and extended HOST
capability QMI message.

But while the new message adds a slew of optional members it changes the
data type of the "daemon_support" member, which means that older
versions of the firmware will fail to decode the incoming request
message.

There is no way to detect this breakage from Linux and there's no way to
recover from sending the wrong message (i.e. we can't just try one
format and then fallback to the other), so a quirk is introduced in
DeviceTree to indicate to the driver that the firmware requires the 8bit
version of this message.

Cc: stable@vger.kernel.org
Fixes: 768ec4c012 ("ath10k: update HOST capability qmi message")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-29 10:09:41 +01:00
Robin Gong 919ef6d130 MLK-22824-1: mfd: pca9450: add pca9450 mfd driver
Add new pmic pca9450 driver for i.mx8mn-evk board.

Signed-off-by: John Lee <john.lee@nxp.com>
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <anson.huang@nxp.com>
(cherry picked from commit 2189979539bb9817d3d8bf0f5489f906d86e673f)
2019-11-29 04:23:43 +08:00
Biwen Li 26f838d820 dt-bindings: i2c: support property idle-state
This supports property idle-state

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-28 18:43:20 +08:00
Peng Fan 07085f4de6 LF-191-3 Documentation: bindings: i2c: add xen,i2c
Add xen,i2c bindings

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Leonard Crestez <leonard.crestez@nxp.com>
2019-11-28 16:28:01 +08:00
Ran Wang b1b26e7ed4 usb: dwc3: Add chip-specific compatible string
Some Layerscape paltforms (such as LS1088A, LS2088A, etc) require update HW
default cache type configuration to fix DWC3 init failure when applying
property dma-coherent.

Note that the cache type configuration is actually native feature of DWC3,
not additional desgin coming from SoC, so add this support here.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Jun Li <jun.li@nxp.com>
2019-11-28 14:40:53 +08:00
Joakim Zhang b5905c484f bindings: perf: imx-ddr: Add new compatible string
Add new compatible string for i.MX8MPlus DDR PMU core.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Will Deacon <will@kernel.org>
2019-11-28 12:08:34 +08:00
Adam Zerella 3d2d4538b9 docs: perf: Add imx-ddr to documentation index
Sphinx is currently outputting a warning where
the file 'imx-ddr.rst' is not included in the
documentation index. Additionally, the code
highlighting and doc formatting can be slightly
improved.

Signed-off-by: Adam Zerella <adam.zerella@gmail.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2019-11-28 12:08:34 +08:00
Joakim Zhang 9869cf739e docs/perf: Add AXI ID filter capabilities information
Add capabilities information for AXI ID filter.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Will Deacon <will@kernel.org>
2019-11-28 12:08:34 +08:00
Joakim Zhang d094d32b0e docs/perf: Add explanation for DDR_CAP_AXI_ID_FILTER_ENHANCED quirk
Add explanation for DDR_CAP_AXI_ID_FILTER_ENHANCED quirk.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
[will: Simplified wording]
Signed-off-by: Will Deacon <will@kernel.org>
2019-11-28 12:08:34 +08:00
Horia Geantă 5fcf215fc4 MLKU-38-4 dt-bindings: crypto: fsl: add caam snvs and secvio
This is a rework of the following i.MX BSP commit
(rel_imx_4.19.35_1.1.0_rc2):
9b63038a58cc ("MLK-21453: crypto: caam - fix Mentor's port, merge conflict resolutions")

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Acked-by: Leonard Crestez <leonard.crestez@nxp.com>
2019-11-27 18:29:46 +02:00
Wen He cfa43c88ca dt/bindings: clk: Add YAML schemas for LS1028A Display Clock bindings
LS1028A has a clock domain PXLCLK0 used for provide pixel clocks to Display
output interface. Add a YAML schema for this.

Signed-off-by: Wen He <wen.he_1@nxp.com>
Signed-off-by: Michael Walle <michael@walle.cc>
2019-11-27 17:53:42 +08:00
Richard Zhu 90d1a825e8 dt-bindings: imx6q-pcie: add some optional property entries
Add some optional property entries.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
2019-11-27 11:13:18 +08:00
Li Yang 3f34a11961 fsl_pmc: update device bindings
Signed-off-by: Li Yang <leoyang.li@nxp.com>
Signed-off-by: Zhao Chenhui <chenhui.zhao@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
2019-11-25 16:29:54 +08:00
Ran Wang 3a3987b001 Documentation: dt: binding: fsl: Add 'little-endian' and update Chassis define
By default, QorIQ SoC's RCPM register block is Big Endian. But
there are some exceptions, such as LS1088A and LS2088A, are
Little Endian. So add this optional property to help identify
them.

Actually LS2021A and other Layerscapes won't totally follow Chassis
2.1, so separate them from powerpc SoC.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-25 16:29:53 +08:00
Jacky Bai 9b782c50ca MLK-22404-01 dt-bindings: power: Add power domain binding for i.mx8m family
Add the binding doc of power domain for i.MX8M SOC family.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
2019-11-25 16:29:39 +08:00
Xiaowei Bao 924bfdb0f7 dt-bindings: Add DT binding for PCIE GEN4 EP of the layerscape
Add the documentation for the Device Tree binding of the layerscape
PCIe GEN4 controller with EP mode.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2019-11-25 16:29:25 +08:00
Hou Zhiqiang 7e84ffc988 dt-bindings: PCI: Add NXP Layerscape SoCs PCIe Gen4 controller
Add PCIe Gen4 controller DT bindings of NXP Layerscape SoCs.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-25 16:29:22 +08:00
Po Liu 1a2738da42 pci:add support aer/pme interrupts with none MSI/MSI-X/INTx mode
On some platforms, root port doesn't support MSI/MSI-X/INTx in RC mode.
When chip support the aer/pme interrupts with none MSI/MSI-X/INTx mode,
maybe there is interrupt line for aer pme etc. Search the interrupt
number in the fdt file. Then fixup the dev->irq with it.

Signed-off-by: Po Liu <po.liu@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2019-11-25 16:29:20 +08:00
Xiaowei Bao de06f34e8b dt-bindings: pci: layerscape-pci: add compatible strings "fsl, ls1028a-pcie"
Add the PCIe compatible string for LS1028A

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-25 16:29:14 +08:00
Richard Zhu f209864791 dt-bindings: imx6q-pcie: Add pcie support for imx8mm
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-11-25 16:29:13 +08:00
Richard Zhu e76f906f97 PCI: imx: enable imx8qm/qxp pcie support
Enable the imx8qm/qxp pcie support.
Verified on the imx8qxp mek board.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-11-25 16:29:09 +08:00
Po Liu 958dafe933 pci:add support aer/pme interrupts with none MSI/MSI-X/INTx mode
On some platforms, root port doesn't support MSI/MSI-X/INTx in RC mode.
When chip support the aer/pme interrupts with none MSI/MSI-X/INTx mode,
maybe there is interrupt line for aer pme etc. Search the interrupt
number in the fdt file. Then fixup the dev->irq with it.

Signed-off-by: Po Liu <po.liu@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2019-11-25 16:29:06 +08:00
Robin Gong dddcaeb960 input: keyboard: imx_sc_pwrkey: add PWRON key driver
Add PWRON key driver which is based on scfw.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
2019-11-25 16:29:03 +08:00
Robin Gong 127f1fb1f2 input: keyboard: rpmsg-keys: add rpmsg-keys driver
Add rpmsg-keys driver for i.mx7ulp.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
2019-11-25 16:29:02 +08:00
Gao Pan b5805df1b1 MLK-14392-1 input: touch: add focaltech touch screen support
add focaltech touch screen support

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
2019-11-25 16:29:00 +08:00
Alejandro Lozano 3785cf3fde MLK-13244 input: touchscreen: add support for vtl touchscreen
Add the support for a CT36X based touchscreens using
the CT36X controller and i2c touchscreen interface.

Signed-off-by: Alejandro Lozano <alejandro.lozano@nxp.com>
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
(Vipul: Fixed merge conflicts)
TODO: checkpatch warnings
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
2019-11-25 16:28:59 +08:00
Stefan-Gabriel Mirea 46fe72556e dt-bindings: clock: Document S32V234 MC_CGM and MC_ME
Add DT bindings documentation for the upcoming S32V234 clk driver. Add
s32v234-clock.h header, which is referred in MC_CGM documentation.

Signed-off-by: Stoica Cosmin-Stefan <cosmin.stoica@nxp.com>
Signed-off-by: Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>
2019-11-25 16:28:53 +08:00
Fancy Fang 17f458d0a4 clk: imx7ulp: remove IMX7ULP_CLK_MIPI_PLL clock
The mipi pll clock comes from the MIPI PHY PLL output, so
it should not be a fixed clock.

MIPI PHY PLL is in the MIPI DSI space, and it is used as
the bit clock for transfering the pixel data out and its
output clock is configured according to the display mode.

So it should be used only for MIPI DSI and not be exported
out for other usages.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-11-25 16:28:39 +08:00
Dong Aisheng 31b25e5f69 dt-bindings: clock: imx8-lpcg: remove lpcg legacy clock binding support
remove lpcg legacy clock binding support

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 16:28:29 +08:00
Dong Aisheng 17bf733e70 dt-bindings: firmware: imx: remove scu legacy clock binding support
remove scu legacy clock binding support

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 16:28:29 +08:00
Dong Aisheng d7c3017943 dt-bindings: clock: imx-lpcg: add support to parse clocks from device tree
MX8QM and MX8QXP LPCG Clocks are mostly the same except they may reside
in different subsystems across CPUs and also vary a bit on the availability.

Same as SCU clock, we want to move the clock definition into device tree
which can fully decouple the dependency of Clock ID definition from device
tree and make us be able to write a fully generic lpcg clock driver.

And we can also use the existence of clock nodes in device tree to address
the device and clock availability differences across different SoCs.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 16:28:14 +08:00
Dong Aisheng 0139c92aff dt-bindings: firmware: imx-scu: new binding to parse clocks from device tree
There's a few limitations on the original one cell clock binding
(#clock-cells = <1>) that we have to define some SW clock IDs for device
tree to reference. This may cause troubles if we want to use common
clock IDs for multi platforms support when the clock of those platforms
are mostly the same.
e.g. Current clock IDs name are defined with SS prefix.

However the device may reside in different SS across CPUs, that means the
SS prefix may not valid anymore for a new SoC. Furthermore, the device
availability of those clocks may also vary a bit.

For such situation, we want to eliminate the using of SW Clock IDs and
change to use a more close to HW one instead.
For SCU clocks usage, only two params required: Resource id + Clock Type.
Both parameters are platform independent. So we could use two cells binding
to pass those parameters,

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 16:28:13 +08:00
Pankaj Bansal 24a65a90fa Documentation: can: flexcan: Add flexcan clocks' information
The clocking information is missing from flexcan device tree bindings.
This information is needed to be able to use flexcan. Document the same.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
2019-11-25 16:11:09 +08:00
Xiaowei Bao edaf7a64ce dt-bindings: pci: layerscape-pci: add compatible strings "fsl,ls1028a-pcie"
Add the PCIe compatible string for LS1028A

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
2019-11-25 16:11:08 +08:00
Vabhav Sharma b5eef889ef dt-bindings: arm64: add compatible for LX2160A
Add compatible for LX2160A SoC,QDS and RDB board
Add lx2160a compatible for clockgen and dcfg

Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-25 16:10:37 +08:00
Bhaskar Upadhaya 2eff676d71 dt-bindings: Add compatible string for LS1012A-FRWY
Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
2019-11-25 16:10:32 +08:00
Franck LENORMAND bd7968b6f1 MLKU-25-1 dt-bindings: crypto: fsl: add secure memory
This is a rework of the following i.MX BSP commit
(rel_imx_4.19.35_1.1.0_rc2):
0adf02011a49 ("MLK-18082: defconfig: Add caam to 7ulp conf")

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2019-11-25 16:08:18 +08:00
Fugang Duan 606d296ae7 MLKU-38-1 dt-bindings: crypto: fsl: add snvs clock management
This is a rework of the following i.MX BSP commit
(rel_imx_4.19.35_1.1.0_rc2):
3ac6edcd92d4 ("MLK-11360-01 crypto: caam_snvs: add snvs clock management")

caam_snvs driver involves snvs HP registers access that needs to
enable snvs clock source. The patch add the clock management.

Signed-off-by: Andy Duan <fugang.duan@nxp.com>
Signed-off-by: Dan Douglass <dan.douglass@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2019-11-25 16:08:16 +08:00
Kuldeep Singh 4ec3b46f94 dt-bindings: spi: spi-fsl-qspi: Add bindings of ls1088a and ls1012a
Signed-off-by: Ashish Kumar <ashish.kumar@nxp.com>
Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
2019-11-25 16:03:45 +08:00
Robin Gong daffda7adf dt-bindings: spi: imx: add i.mx6ul to state errata fixed
ERR009165 fixed from i.mx6ul, add it to show the errata fixed.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
2019-11-25 16:03:34 +08:00
Robin Gong cfe6412faa MLK-22284-1 dmaengine: fsl-edma-v3: add power domains for each channel
Add power domains for each dma channel so that edma channel could
know the power state of every dma channel anytime and clear easily
unexpected interrupt which triggered before the last partition reset.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: S.j. Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 0b6da46b7bdb2284e24757d48466268b9feb5b7c)
2019-11-25 16:03:22 +08:00
Richard Zhu 2432fcf604 dma: imx: add the 32bit dma limitation
Since the imx8qm/qxp hsio only supports up to 32bit
dma capability.
Add the 32bit dma limitation into dma binding document.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-11-25 16:03:19 +08:00
Robin Gong 9d36acb860 MLK-16327-1: dma: fsl-edma-v3: make exclusive channel name for all edma channels
Since there are multi edmav3 instances on i.mx8, every edma channel name
is better unique.But so far, all edma channel name is 'edma-channel(id)-
tx',thus some edma channels which share the same channel id but different
edma instance will show the same channel name in kernel and this is not
friendly to debug in kernel.
  Now the edma channel name(interrupt-names property) is define in dts
as below:
        "edmaX-chanX-Xx"
             |     | |---> receive/transmit, r or t
             |     |---> channel id, the max number is 32
             |---> edma controller instance, 0, 1, 2,..etc
and get below correct name with 'cat /proc/interrupts':
 43:          0          0          0          0     GICv3 466 Level     edma0-chan8-rx
 44:          0          0          0          0     GICv3 467 Level     edma0-chan9-tx
 45:         79          0          0          0     GICv3 468 Level     edma0-chan10-rx
 46:        311          0          0          0     GICv3 469 Level     edma0-chan11-tx
 47:          0          0          0          0     GICv3 470 Level     edma0-chan12-rx
 48:          0          0          0          0     GICv3 471 Level     edma0-chan13-tx
 49:          0          0          0          0     GICv3 472 Level     edma0-chan14-rx
 50:          0          0          0          0     GICv3 473 Level     edma0-chan15-tx
 51:          0          0          0          0     GICv3 406 Level     edma2-chan0-tx
 52:          0          0          0          0     GICv3 407 Level     edma2-chan1-tx
 53:          0          0          0          0     GICv3 408 Level     edma2-chan2-tx
 54:          0          0          0          0     GICv3 409 Level     edma2-chan3-tx
 55:          0          0          0          0     GICv3 410 Level     edma2-chan4-tx
 56:          0          0          0          0     GICv3 411 Level     edma2-chan5-tx
 57:          0          0          0          0     GICv3 442 Level     edma2-chan6-rx, edma2-chan7-tx

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit af8e197a92c9c024ec4fbfcf543d744e81748773)
2019-11-25 16:03:13 +08:00
Robin Gong ec32139328 MLK-15330-3 dma: fsl-edma-v3: add dual fifo support
There is Audio dual fifo cause that fill fifo one by one and
loop back after every minor loop:
  -- fill the first 32bit width fifo
  -- fill the next 32bit width fifo
  -- +MLOFF signed offset after the above two FIFOs filled
  -- loop back to the first step to handle the next minor loop.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
(cherry picked from commit 5aa5e9663bb3a834444b75ea086bef8c37ecb636)
2019-11-25 16:03:13 +08:00
Robin Gong 4688ef9be7 MLK-15330-1: dma: fsl-edma-v3: combine two cells into one
For dual fifo case, fsl-edma-v3 need add another cell. It's not friendly
for user and it's possible other cells maybe added to other use cases,
so combine two cells into one now, and for some special use cases such as
dual fifo property can directly be passed by one bit of cell3 rather than
another cell.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
(cherry picked from commit 3ecd1b3382e2c746728842fb2c084fbb030eb5de)
2019-11-25 16:03:12 +08:00
Shengjiu Wang 5dd7504280 MLK-15003-2: Document: fsl_edma_v3: update document
update fsl_edma_v3 document for #dma-cell is changed
one more cell is added, which is for local/remote access.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 65543fb7fefbdb7df4cb60931a88f61507c5073f)
2019-11-25 16:03:10 +08:00
Robin Gong 2f9e74892d MLK-14610 DMA: fsl-edma-v3: add fsl-edma-v3 support
Add edma-v3 driver on i.mx8qm.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
(cherry picked from commit d0ac0971c2e637ebddc853f12f71d130f5df4f91)
2019-11-25 16:03:10 +08:00
Robin Gong b9416dfe21 dmaengine: imx-sdma: update sdma script for multi fifo on SAI
update sdma script for multi fifo SAI on i.mx8MQ. Besides,Add
new cell for sw_done/sw_done_selector, because PDM need enable
software done feature in sdma script(same multi fifo script).
The new fourth cell defined as below:
        Bit31: sw_done
        Bit15~bit0: selector
For example: 0x80000000 means sw_done enabled for done0 sector which
is for PDM on i.mx8mm.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
2019-11-25 16:03:02 +08:00
Shengjiu Wang a3e3585408 dmaengine: imx-sdma: Add hdmi audio support in sdma
Add hdmi audio support.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
2019-11-25 16:02:59 +08:00
Robin Gong 76772e7931 dt-bindings: dma: imx-sdma: add i.mx6ul/6sx compatible name
Add i.mx6ul and i.mx6sx compatible name.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
2019-11-25 16:02:57 +08:00
Mirela Rabulea 5bdecfe987 media: dt-bindings: add bindings for i.MX8QXP/QM JPEG driver
Add bindings documentation for i.MX8QXP/QM JPEG decoder & encoder driver.

Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
(cherry picked from commit abe3dcf9e67fe387c5d0a49fa25acdfc20588984)
2019-11-25 16:02:45 +08:00
Guoniu.zhou f49e4de44b media: dt-bindings: add bindings for i.MX8QXP parallel interface
Add bindings documentation for i.MX8QXP parallel interface device

Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
2019-11-25 16:02:14 +08:00
Guoniu.zhou 11dd36f7f1 media: dt-bindings: add bindings for i.MX8QXP/QM mipi csi-2 driver
Add bindings documentation for i.MX8QXP/QM mipi csi-2 drivers.

Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
2019-11-25 16:02:07 +08:00
Guoniu.zhou 4792d808dc media: dt-bindings: add bindings for i.MX8QXP/QM ISI driver
Add bindings documentation for i.MX8QXP/QM ISI drivers.

Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
2019-11-25 16:01:59 +08:00
Guoniu.zhou ec704fe2ab media: dt-bindings: add bindings for i.MX8QXP/QM virtual media device
Add bindings documentation for i.MX8QXP/QM virtual media device

Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
2019-11-25 16:01:55 +08:00
Mirela Rabulea dde81e854d MLK-21770: media: v4l: Add packed YUV444 24bpp pixel format
The added format is V4L2_PIX_FMT_YUV24, this is a packed
YUV 4:4:4 format, with 8 bits for each component, 24 bits
per sample.

Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Acked-by: Leonard Crestez <leonard.crestez@nxp.com>
[ Aisheng : fix minor conflicts ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 16:01:51 +08:00
Wen He 953bc461be dt/bindings: display: Add optional property node define for Mali DP500
Add optional property node 'arm,malidp-arqos-value' for the Mali DP500.
This property describe the ARQoS levels of DP500's QoS signaling.

Signed-off-by: Wen He <wen.he_1@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-25 16:01:46 +08:00
Laurentiu Palcu cb42847aa2 dt-bindings: display: imx8mq-dcss: add bindings for DTRC interrupts
The DTRC module triggers an interrupt when each bank finished processing. So,
they are needed if video compressed formats are to be played.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
2019-11-25 16:01:41 +08:00
Laurentiu Palcu 8f09a3eeff dt-bindings: display: imx8mq-dcss: add clocks needed for HDMI
This adds dt bindings for pll_src and pll_phy_ref, used when output is on HDMI.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
2019-11-25 16:01:33 +08:00
Laurentiu Palcu b47bad65a5 dt-bindings: display: imx: add bindings for DCSS
Add bindings for iMX8MQ Display Controller Subsystem.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
2019-11-25 16:01:31 +08:00
Robert Chiras d0ca828d6b dt-bindings: display/bridge: nwl-dsi: Document fsl,clock-drop-level property
Add documentation for a new property: 'fsl,clock-drop-level'.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2019-11-25 16:00:35 +08:00
Robert Chiras 8536dc2e27 dt-bindings: display/bridge: nwl-dsi: Document video_pll clock
Add documentation for a new clock 'video_pll'.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2019-11-25 16:00:35 +08:00
Guido Günther 634e936cfe dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller
The Northwest Logic MIPI DSI IP core can be found in NXPs i.MX8 SoCs.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2019-11-25 16:00:32 +08:00
Liu Ying 193f966dbc dt-bindings: display: Add JDI TX26D202VM0BWA LCD panel bindings
The JDI TX26D202VM0BWA LCD panel is a 10.1" panel
with a 1920x1200 (WUXGA) resolution.
The panel has dual LVDS channels.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 16:00:17 +08:00
Robert Chiras ab35a9108e MLK-17650-1 drm/bridge: adv7511: Add support for programmable i2c addresses
The DSI-HDMI converter, ADV7535, driver uses four i2c memory maps: MAIN,
DSI-CEC, EDID and PACKET.
While the MAIN address is hard-coded in the ROM chip, the other three
can be programmed into the MAIN memory map.
Currently, the three memory maps addresses, that can be programmed, are
hard-coded into the code.
In order to avoid conflicts with other i2c clients on the bus, update
the driver to use configurable addresses specified in DTS file.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2019-11-25 16:00:03 +08:00
Robert Chiras 1bdc9083f7 MLK-17275-7 drm/bridge: adv7511: Add dsi-channel property
Add a new property "adi,dsi-channel" to allow the user specify the DSI
channel to be used when communicating with DSI peripheral.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
2019-11-25 16:00:01 +08:00
Robert Chiras b7b8f742b3 MLK-16347-6 drm/bridge: adv7511: Add new compatible string
Added "adi,adv7535" to the adv7511 drm bridge and adi,adv7511.txt doc,
since the driver can also support the ADV7535 chipset (upgrade of ADV7533).

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2019-11-25 15:59:59 +08:00
Fancy Fang a087a95aa2 MLK-21150-3 drm/bridge: sec-dsim: add a new property 'pref-rate'
Add a new property 'pref-rate' support which can be used to
assign a different clock frequency for the DPHY PLL reference
clock in the dtb file. And if this property does not exist,
the default clock frequency for the reference clock will be
used. And according to the spec, the DPHY PLL reference clk
frequency should be in [6MHz, 300MHz] range.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-11-25 15:59:55 +08:00
Fancy Fang 7a92948ef1 MLK-18535-13 dt-bindings: display: bridge: add sec-dsim bindings
Add the device-tree bindings for the display bridge
Samsung MIPI DSIM on i.MX platforms.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-11-25 15:59:42 +08:00
Liu Ying 6b767485aa dt-bindings: display: bridge: Document ITE IT6263 LVDS to HDMI transmitter
This patch adds device tree binding for ITE IT6263 LVDS to HDMI transmitter.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:59:40 +08:00
Liu Ying 4ad662b2a5 dt-bindings: Add vendor prefix for ITE Tech. Inc.
ITE Tech. Inc. (abbreviated as ITE) is a fabless IC design house from Taiwan.

Website: www.ite.com.tw

Signed-off-by: Liu Ying <victor.liu@nxp.com>
[ Aisheng: change to YAML format ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:59:39 +08:00
Robert Chiras 1d0b3c97e5 dt-bindings: display: Add max-memory-bandwidth property for mxsfb
Add new optional property 'max-memory-bandwidth', to limit the maximum
bandwidth used by the MXSFB_DRM driver.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Tested-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Rob Herring <robh@kernel.org>
2019-11-25 15:59:02 +08:00
Liu Ying 92ec3526fc dt-bindings: display: imx: ldb: Add i.MX8qxp LDB dual channel mode documentation
i.MX8qxp LDB dual channel mode uses two LDB channels from two LDB
instances, while all other LDB variants in other SoCs use two LDB
channels from one LDB instance.  This patch adds documentation
for the special case of i.MX8qxp LDB dual channel mode.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:54 +08:00
Liu Ying 0f33257959 dt-bindings: display: imx: ldb: Correct pixel and bypass clock description
Not only i.MX8qm LDB requires pixel and bypass clocks, but also
i.MX8qxp LDB does.  This patch corrects pixel and bypass clock
description by explicitly saying that i.MX8qxp LDB requires
the clocks.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:53 +08:00
Liu Ying 15409f90e6 dt-bindings: display: imx: ldb: Add i.MXqxp LDB compatible string and properties
This patch adds device tree binding support for i.MXqxp LDB,
including compatible string and additional properties.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:48 +08:00
Liu Ying 0e81504511 dt-bindings: display: imx: ldb: Add i.MXqm LDB compatible string and properties
This patch adds device tree binding support for i.MXqm LDB,
including compatible string and additional properties.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:47 +08:00
Liu Ying 61584d69b2 dt-bindings: display: imx-drm: Add pixel combiner descriptions
Pixel combiner found in i.MX8 SoCs may combine two display
streams(one master and the other slave) to drive a high
pixel rate display.  This patch adds DT property descriptions
in imx-drm device tree documentation for pixel combiner.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:12 +08:00
Liu Ying 3f00d5aa73 dt-bindings: display: fsl-imx-drm: Add DPR channel property to dpu binding doc
This patch adds DPR channel property to dpu binding doc.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:01 +08:00
Liu Ying ab29cdf8ae dt-bindings: display: fsl-imx-drm: Add i.MX8 DPR(Display Prefetch Resolve) support
The Display Prefetch Resolve(DPR) is a processor of fetching display data
before the display pipeline which needs data to drive pixels in the active
display region.  The data is transformed, or resolved from a variety of
tiled buffer formats into linear format.  The DPR transaction sequences are
issued with a high level of DRAM efficiency.  This patch adds device tree
binding doc support for i.MX8qm/qxp DPR.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:01 +08:00
Liu Ying b76ebc473b dt-bindings: display: fsl-imx-drm: Add i.MX8 PRG(Prefetch Resolve Gasket) support
The Pretch Resolve Gasket(PRG) is a digital core function as a gasket
interface between RTRAM controller and DPU.  The main function of PRG
is to convert the AXI interface to RTRAM interface and remapping the
ARADDR to a RTRAM address.  This patch adds device tree binding doc
support for i.MX8qm/qxp PRG.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:58:00 +08:00
Liu Ying e271b534e6 dt-bindings: fsl-imx-drm: Add DT binding for the Display Processing Unit
This patch adds device tree binding for the Display Processing Unit(DPU),
as found in i.MX8qxp SoC.

The DPU is comprised of two main components that include a blit engine
for 2D graphics accelertations and a display controller for display
output processing, as well as a command sequencer.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:57:51 +08:00
Li Jun d424cf6f8f MLK-16604-3 dt-bindings: usb: xhci: add usb3-resume-missing-cas property
There is already one quirk for usb3 xhci flag XHCI_MISSING_CAS, for
those platform with OF we can use usb3-resume-missing-cas to enable
this quirk to work around usb3 resume from system sleep.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit ba58ff8d3aaf00223911522c1a47a7afe6f70776)
2019-11-25 15:57:34 +08:00
Peter Chen 83e2195664 Doc: ABI: add usb charger uevent
When the USB charger is inserted or removed, the users could get
USB charger state and type through the uevent.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
2019-11-25 15:57:26 +08:00
Li Jun f2a46c35b6 dt-bindings: usb: add documentation for typec switch via GPIO
Some typec super speed active channel switch can be controled via
a GPIO, this binding can be used to specify the switch node by
a GPIO and the remote endpoint of its consumre.

Signed-off-by: Li Jun <jun.li@nxp.com>
2019-11-25 15:57:11 +08:00
Ran Wang bca3c354c8 usb: dwc3: Add avoiding vbus glitch happen during xhci reset
When DWC3 is set to host mode by programming register DWC3_GCTL, VBUS
(or its control signal) will turn on immediately on related Root Hub
ports. Then the VBUS will be de-asserted for a little while during xhci
reset (conducted by xhci driver) for a little while and back to normal.

This VBUS glitch might cause some USB devices emuration fail if kernel
boot with them connected. One SW workaround which can fix this is to
program all PORTSC[PP] to 0 to turn off VBUS immediately after setting
host mode in DWC3 driver(per signal measurement result, it will be too
late to do it in xhci-plat.c or xhci.c).

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
2019-11-25 15:57:07 +08:00
Peter Chen 9a2bb23f01 MLK-16715-7 usb: chipidea: imx: add "ci-disable-lpm" quirk
Some chipidea hardware needs to disable low power mode for controller
due to IC issue or hardware issue, add one quirk for it.

Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
2019-11-25 15:56:52 +08:00
Peter Chen a07b01773a MLK-16065-6 doc: binding: cdns-usb3: add binding-doc for Cadence USB3
Add binding-doc for Cadence USB3

Signed-off-by: Peter Chen <peter.chen@nxp.com>
2019-11-25 15:56:17 +08:00
Peter Chen 86f778d416 MLK-20754 usb: cdns3: add role switch sys entry
It is an experimental feature, and tested by internal team for
Carplay feature.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit 270c1ea5168763a03f79c4f9ecadb2cd18dc08f9)
2019-11-25 15:56:17 +08:00
Peter Chen 576d5c3cde usb: cdns3: remove upstream cadence USB3 driver
Upstream version is an initial version, it can't be used directly.
We will use downstream version for v5.4 instead.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
2019-11-25 15:55:32 +08:00
Shengjiu Wang fcfc4be154 MLK-11429-21: ASoC: fsl: port si476x machine driver from imx_3.10.y
cherry-pick below patch from imx_3.14.y
ENGR00330403-3: ASoC: fsl: port si476x machine driver from imx_3.10.y

Port si476x machine dirver for i.MX series SoC and binding doc from imx_3.10.y

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-11-25 15:54:34 +08:00
Shengjiu Wang e3e48111d9 MLK-18574: ASoC: fsl_spdif: specify the spdif in imx8mm
specify the spdif in imx8mm for the ipg clock is higher that
it can support 192kHz

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
2019-11-25 15:54:19 +08:00
Shengjiu Wang 38f89d3ce1 MLK-13947: ASoC: fsl_spdif: introduce SoC specific data
Introduce a SoC data struct which contains the differences between
the different SoCs this driver supports. This makes it easy to support
more differences without having to introduce a new switch/case each
time.
And in imx8qm, the spdif has two interrupt numbers and the burst size
should be 2 for EDMA limitation to support dual FIFO.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25 15:54:16 +08:00
Shengjiu Wang 713549b367 MLK-19565-1: ASoC: fsl_rpmsg_i2s: support rpmsg on imx8qm
On imx8qm mek, the cs42888 is connected with i2c in cm41 domain,
but wm8960 is connected with i2c1, which is not in m4 domain.
So we only need to eable rpmsg for cs42888.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 9d2368aef40e4d107e4deee1a2c7e191c1afe644)
2019-11-25 15:53:07 +08:00
Shengjiu Wang 08cf70aa23 MLK-19168-4: ASoC: fsl_rpmsg_i2s: support more codec
support more codecs, codec is specified by compatible string

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 7c92a75fcf83ec0aa3fe6773e4cb5f5e88a1ff09)
2019-11-25 15:53:05 +08:00
Shengjiu Wang 093cb51e6f MLK-19042-1: ASoC: fsl_rpmsg_i2s: support low power audio
Add two new message command I2S_TX_POINTER and I2S_RX_POINTER,
which are used to get the hw pointer in m4 side. For in low
power audio mode, m4 won't send notification every period, the
notification only be sent when hw pointer reach end of buffer,
so we need these command to get the position of hw pointer,
user can use it to calculate the timestamp.

Restructure send message and recv message together for i2s_rpmsg,
that every send message has a recv message. so the
i2s_send_message can store the recv message indepedently. one
reason is that the receive message is async withe send message.

The low power audio is disabled in default, user need to enabled
it by add "fsl,enable-lpa" in dts.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit 753e7b819609ad4791e32069a124d4411c720947)
2019-11-25 15:53:00 +08:00
Shengjiu Wang 6e155db640 MLK-13904-3: ASoC: fsl: add audio machine driver base on rpmsg
Add machine driver, which is using the dummy codec.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Acked-by: Robin Gong <yibin.gong@nxp.com>
[ Aisheng: clean for a new base ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:52:49 +08:00
Shengjiu Wang a019e7b415 MLK-13904-1: ASoC: fsl: add audio cpu dai driver base on rpmsg (part 1)
Add the cpu dai driver, as the rpmsg_send api can't be used in
atomic context, so using the workqueue instead of calling
rpmsg_send() directly.
The detail communication stack is defined in header file.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Acked-by: Robin Gong <yibin.gong@nxp.com>
[ Aisheng: split out imx-pcm.h changes ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:52:48 +08:00
Shengjiu Wang 10fa83ab64 MLK-20183-2: ASoC: imx-cdnhdmi: reconfigure the mclk for HDMI on imx8mq
In order to support 44kHz and 48kHz sample rate together, we need to
reconfigure the parent clock of mclk.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-11-25 15:52:38 +08:00
Shengjiu Wang d16ae6be35 MLK-13946-4: ASoC: imx-cdnhdmi: refine machine driver for api changes
Since commit 3f5780eb4520 ("MLK-16538-2: hdmi api: Relocate hdmi api
soure code") change the api. And hdmi video driver provide a new api
for hdmi audio. Machine driver need to be updated accrodingly

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-11-25 15:52:32 +08:00
Shengjiu Wang 2e02a9402d MLK-16130-2: ASoC: fsl: add machine driver for cadence hdmi
The machine driver will call the API which is provided by
the cadence to configure the audio features.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
[ Aisheng: clean for a new base ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:52:30 +08:00
Weiguang Kong 6b7b1ae0ec MLK-17747: dsp: use the name of dsp instead of hifi
In order to avoid the name problem going forward with
integration with Qcom, Qcom has their own dsp and hifi
is competitor, so the hifi name should not be used in
our code.

So use the name of dsp instead of hifi to fix this
problem.

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
2019-11-25 15:51:51 +08:00
Shengjiu Wang 7d17cbca37 MLK-14997-3: Document: Add fsl,hifi4 compatibility document
add hifi4 document

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2019-11-25 15:51:51 +08:00
Shengjiu Wang 56b42dc792 MLK-13945-1: ASoC: fsl_mqs: refine the mqs driver for support imx8qm
IOMUXC_GPR2 register is not used for imx8, there is a new register
designed for this usage in imx8, so it also need the ipg clock.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25 15:51:08 +08:00
Shengjiu Wang 723c0b0be0 MLK-9723-4: ASoC: fsl_mqs: add mqs codec driver
Implement codec driver for mqs. mqs is a very simple IP. which support:

Word length: 16bit.
DAI format: Left-Justified, slave mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 9da6bdd2072b850e9bb910512123eff7d80a0e2f)
2019-11-25 15:51:03 +08:00
Viorel Suman 4ac1d64047 MLK-19432-1: ASoC: imx-ak5558: limit max rate as function of sample bits
According to AK5558 MCLK frequence must not exceed 36.864 MHz.
Limit maximum supported rate as function of max MCLK frequency,
sample bits and number of slots.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 236796cad225daa39d5b77d763a1d964dd4de4c9)
2019-11-25 15:50:40 +08:00
Viorel Suman e49e74b10a MLK-18898-2: ASoC: imx-ak4458: refine mclk rate calculation
The existing implementation calculates mclk rate as function
of audio sample rate multiplied to multiplier taken from Table 5.
However this is not accurate for Manual Setting Mode - tables 3 & 4 from
AK4458 RM defines rate (LRCK/FS) and frame width (MCLK/16fs..1152fs) ranges
as parameters to calculate mclk frequency. Aside of this - adjust
bclk:mclk ratio from machine driver as function of "compatible" id.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit 527b8b7032dcb75c14bb2790330ab96743d83b16)
2019-11-25 15:50:40 +08:00
Viorel Suman 466a99ed9b MLK-18682-6: ASoC: imx-ak4497: refine 1:1 bclk:mclk ratio support
Use a specific compatible string for 850D in order to limit DSD MCLK
frequency for platforms newer than 850D.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
2019-11-25 15:50:38 +08:00
Daniel Baluta 493fff48cb MLK-15070-2: ASoC: fsl: Add machine driver for AK4497
This glues SAI interface with AK4497 DAC codec on i.MX boards.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
[ Aisheng: Makefile clean for a new base ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:50:25 +08:00
Shengjiu Wang a14c19c079 MLK-15071-2: ASoC: fsl: Add machine driver for AK5558
Add machine driver for i.MX boards that have AK5558 ADC attached to SAI.

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
[ Aisheng: clean for a new base ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:50:24 +08:00
Mihai Serban 522efbcae4 MLK-15033-2: ASoC: fsl: Add machine driver for AK4458
Add machine driver for i.MX boards that have AK4458 DAC attached to SAI.

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
[ Aisheng: clean for a new base ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:50:21 +08:00
Shengjiu Wang 215c1891b7 MLK-13945-2: ASoC: imx_mqs: specify clock name in machine driver
specify clock name in machine driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25 15:50:14 +08:00
Shengjiu Wang 8f578fd3a1 MLK-15140-2: ASoC: fsl: add machine driver for wm8524
This a simple machine driver for wm8524.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
[ Aisheng: clean for a new base ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:50:13 +08:00
Nicolin Chen 8139df52bd MLK-11479-11 ASoC: imx-wm8962: Add non-SSI cpu dai support (part 1)
cherry-pick below patch from v3.14.y:
ENGR00307635-5 ASoC: imx-wm8962: Add non-SSI cpu dai support

The current imx-wm8962 machine driver is designed for SSI as CPU DAI only
while as its name we should make the driver more generic to any other CPU
DAI on i.MX serires -- ESAI, SAI for example.

So this patch makes the driver more general so as to support those non-SSI
cases.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit b6fca438dde1b4c0bbdee31729871d601f287dc9)
[ Aisheng: split dts changes ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:49:58 +08:00
Nicolin Chen be98d73d36 MLK-11479-06 ASoC: fsl: Add WM8962 jack detecting support
cherry-pick below patch from v3.14.y:
ENGR00277715-3 ASoC: fsl: Add WM8962 jack detecting support

There're two GPIOs connected to the headphone jack and microphone jack,
thus add the states detection.

Reviewed-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
2019-11-25 15:49:56 +08:00
Shengjiu Wang e2a81a7a37 MLK-11429-21: ASoC: imx-cs42888: port cs42888 machine driver from imx_3.10.y
cherry-pick below patch from imx_3.14.y
ENGR00330403-1: ASoC: imx-cs42888: port cs42888 machine driver from imx_3.10.y

Port the cs42888 machine driver from imx_3.10.y and do update according to
new esai driver and asrc driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 7ed3aac83630a38eb397ed92f815a28e07198748)
2019-11-25 15:49:53 +08:00
Shengjiu Wang 953b49f01a MLK-9723-5: ASoC: imx-mqs: add mqs machine driver
Implement machine driver for mqs, which use the sai as cpu dai.
sai work on master mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit cac9eb41debc6444d753dc936cdf76874260b9e4)
2019-11-25 15:49:50 +08:00
Shengjiu Wang c8182e664d Revert "ASoC: imx-wm8962: Remove machine driver"
This reverts commit 790d631dcf.
2019-11-25 15:49:50 +08:00
Shengjiu Wang 84ef7c4988 MLK-21940-2: dt-bindings: sound: Add document for fsl,easrc
EASRC (Enhanced ASRC) is a new IP module found on i.MX8 MN. It is
different from old ASRC module.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
2019-11-25 15:48:42 +08:00
Viorel Suman eb267cdcaa ASoC: fsl: refine the asrc driver for imx8qm
The clock source of ASRC in imx8qm is changed.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2019-11-25 15:48:26 +08:00
Clark Wang 49dc991f89 MLK-22071-3 Document: mlb: add imx8qxp compatible string
Add imx8qxp compatible string for i.MX8 SoCs.

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
2019-11-25 15:48:10 +08:00
Gao Pan 0e8db63334 MLK-15997 Document: mlb: add document for mlb
add document for mlb

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
2019-11-25 15:48:10 +08:00
Ioana Ciornei df3e8521e0 drivers/base: add sysfs entries for suppliers and consumers
Instead of scraping dmesg for messages such as 'Linked as a consumer to'
or 'Dropping the link to' export two new sysfs entries in the device
folder that list the consumer and supplier devices.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
2019-11-25 15:46:57 +08:00
Richard Zhu adecb130af dt-bindings: mailbox: imx-mu: add imx7ulp MU support
There is a version 1.0 MU on imx7ulp, use "fsl,imx7ulp-mu" compatible
to support it.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:46:54 +08:00
Mihaela Martinas 6ad9a554a1 dt-bindings: pinctrl: Add SIUL2 definitions
Add device tree bindings documentation and useful definitions for SIUL2 pin
controller, which is found on the S32V234 SoC.

Signed-off-by: Mihaela Martinas <Mihaela.Martinas@freescale.com>
Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com>
Signed-off-by: Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>
2019-11-25 15:46:38 +08:00
Shawn Guo dc81f006fb MLK-11749: pinctrl: support pinctrl setting assertion via gpios
It's pretty common that on some reference design or validation boards,
one pin could be used by two devices on board, and the pin route is
controlled by a GPIO.  So to assert the pin for given device, not only
the pinmux controller in SoC needs to be set up properly but also the
GPIO needs to be pulled up/down.

The patch adds support of a device tree property "pinctrl-assert-gpios"
under client device node.  It plays pretty much like a board level pin
multiplexer, and steers the pin route by controlling the GPIOs.  When
client device has the property represent in its node, pinctrl device
tree mapping function will firstly pull up/down the GPIOs to assert the
pins for the device at board level.

[shawn.guo: cherry-pick commit e5a718edab82 from imx_3.10.y]
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
2019-11-25 15:46:37 +08:00
Fugang Duan 056c182863 gpio: imx-rpmsg: add gpio interrupt chip support
Add gpio interrupt chip support that only support wakeup feature
by M4 core.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-11-25 15:46:29 +08:00
Fugang Duan f3462feb1f gpio: imx-rpmsg: add rpmsg virtual gpio driver
Add rpmsg virtual gpio driver support.
i.MX7ULP GPIO PTA and PTB resource are managed by M4 core, setup one
simple protocol with M4 core based on RPMSG virtual IO to let A core
access such GPIOs that is what the driver do.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-11-25 15:46:28 +08:00
Fugang Duan 5d8768625f MLK-19251-01 gpio: max732x: add output IO default voltage set
Add output IOs defalut voltage set in device tree by add property like:
    out-default = /bits/ 16 <mask val>;

Reviewed-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-11-25 15:46:28 +08:00
Clark Wang b927082852 MLK-20940-1 i2c: busses: Add virtual i2c driver based on rpmsg
Add virtual i2c driver to send SRTM i2c messages to M4.
Each virtual I2C bus has a specal bus id, which is abstracted by M4.
Each SRTM message include a bus id for the bus which the device is on.

Virtual i2c rpmsg bus will bind rpbus nodes with compatible string
"fsl,i2c-rpbus". And "rpmsg-i2c-channel" will probe only one rpmsg
channel for all rpbuses.

This virtual i2c driver depends on CONFIG_I2C and CONFIG_RPMSG.

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
(cherry picked from commit 9feeac93a7d91ce67537a8a6c67e624eb7986a01)
(cherry picked from commit 379ab8392ef404dc7eea9a7492231a9d9d250ed5)
2019-11-25 15:46:13 +08:00
Peng Fan 13598d5068 dt-bindings: regulator: fixed: add off-on-delay-us property
When disabling a fixed regulator, it may take some time to let the
voltage drop to the expected value, such as zero. If not delay
enough time, the regulator might have been always enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/1572311875-22880-2-git-send-email-peng.fan@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 96da2d9c90)
2019-11-25 15:46:08 +08:00
Richard Zhu 93f8cacdff dt-binding: add imx rpmsg compatibility documentation
Extend the rpmsg compatibility support for
imx8qm/imx7ulp/imx7d/imx6sx

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-11-25 15:46:01 +08:00
Richard Zhu f0e9006a3c dt-binding: add imx rpmsg compatibility documentation
Add imx rpmsg compatibility documentation.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-11-25 15:46:00 +08:00
Haibo Chen e41d4f9835 mmc: sdhci-esdhc-imx: handle 'auto-cmd23-broken' from devicetree
Since L4.15, community involve the commit 105819c8a545 ("mmc: core: use mrq->sbc
when sending CMD23 for RPMB"), let the usdhc to decide whether to use ACMD23 for
RPMB. This CMD23 for RPMB need to set the bit 31 to its argument, if not, the
RPMB write operation will return general fail.

According to the sdhci logic, SDMA mode will disable the ACMD23, and only in
ADMA mode, it will chose to use ACMD23 if the host support. But according to
debug, and confirm with IC, the imx6qpdl/imx6sx/imx6sl/imx7d do not support
the ACMD23 feature completely. These SoCs only use the 16 bit block count of
the register 0x4 (BLOCK_ATT) as the CMD23's argument in ACMD23 mode, which
means it will ignore the upper 16 bit of the CMD23's argument. This will block
the reliable write operation in RPMB, because RPMB reliable write need to set
the bit31 of the CMD23's argument. This is the hardware limitation. Due to
imx6sl use SDMA, so for imx6qpdl/imx6sx/imx7d, it need to broke the ACMD23 for
eMMC, SD card do not has this limitation, because SD card do not support reliable
write.

For imx6ul/imx6ull/imx6sll/imx7ulp/imx8, it support the ACMD23 completely, it
change to use the 0x0 register (DS_ADDR) to put the CMD23's argument in ADMA mode.

This patch handle 'auto-cmd23-broken' from devicetree.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2019-11-25 15:45:39 +08:00
Haibo Chen 2ca5aef528 mmc: sdhci-esdhc-imx: add esdhc_soc_data for i.MX8MM
i.MX8MM contains USDHC which support eMMC V5.1 (including CMDQ and
HS400ES), besides i.MX8MM also support bus frequency, so add a new
esdhc_soc_data for i.MX8MM.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2019-11-25 15:45:39 +08:00
Haibo Chen 10e95d5a9d mmc: sdhci-esdhc-imx: add strobe-dll-delay-target support
strobe-dll-delay-target is the delay cell add on the strobe line.
Strobe line the the uSDHC loopback read clock which is use in HS400
mode. Different strobe-dll-delay-target may need to set for different
board/SoC. If this delay cell is not set to an appropriate value,
we may see some read operation meet CRC error after HS400 mode select
which already pass the tuning.

This patch add the strobe-dll-delay-target setting in driver, so that
user can easily config this delay cell in dts file.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2019-11-25 15:45:38 +08:00
Haibo Chen 061e13343b mmc: core: add MMC_PM_IGNORE_PM_NOTIFY feature
With igore pm notify feature, MMC core will not re-detect card
after system suspend/resume. This is needed for some special cards
like Broadcom WiFi which can't work propertly on card re-detect
after system resume.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2019-11-25 15:45:35 +08:00
Liu Ying 72c912225c dt-bindings: phy: Add DT binding for Mixel LVDS PHY(LVDS/MIPI DSI combo)
This patch adds device tree binding for Mixel LVDS PHY(LVDS/MIPI DSI combo),
as found in i.MX8qxp SoC.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:45:14 +08:00
Liu Ying 824cbfa98d dt-bindings: phy: Add DT binding for Mixel LVDS PHY
This patch adds device tree binding for Mixel LVDS PHY,
as found in i.MX8qm SoC.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-11-25 15:45:13 +08:00
Liu Ying 800275e78a dt-bindings: Add vendor prefix for Mixel, Inc.
Mixel, Inc. is a provider of mixed-signal mobile IPs.

Website: www.mixel.com

Signed-off-by: Liu Ying <victor.liu@nxp.com>
[ Aisheng: change to YAML format ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:45:13 +08:00
Fancy Fang 6d73c7f3ae reset: Add driver for dispmix reset
This is an reset driver to implement a reset controller
device DISPMIX on IMX8MM and IMX8MN platforms. Dispmix
reset is used to reset or enable related buses and clks
for the submodules in DISPMIX.

All the dispmix resets are divided into three subgroups:
sft_rstn, clk_en and mipi_rst, and each of them contains
several reset lines to control several different modules
on and off in DISPMIX which doesn't require the standard
reset flow, but only line assert and deassert operations.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-11-25 15:45:06 +08:00
Fugang Duan 80fcea5b45 MLK-15092 reset: gpio-reset: add post reset delay
Some devices need to wait for some milliseconds after reset, so add
post reset delay in the gpio-reset chip.

The post reset delay is optional.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
2019-11-25 15:45:05 +08:00
Philipp Zabel 5f83111d4f reset: Add driver for gpio-controlled reset pins
This driver implements a reset controller device that toggle a gpio
connected to a reset pin of a peripheral IC. The delay between assertion
and de-assertion of the reset signal can be configured via device tree.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
2019-11-25 15:45:03 +08:00
Fugang Duan 665ba6f938 dt-bindings: add new property to enable board_type
Add new property to enable board_type for NVRAM suffix.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-11-25 15:45:00 +08:00
Anson Huang 8697354487 dt-bindings: thermal: imx8mm-thermal: Add binding doc for i.MX8MM
Add thermal binding doc for Freescale's i.MX8MM Thermal Monitoring Unit.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
2019-11-25 15:44:14 +08:00
Udit Agarwal e2173ee987 security/keys/secure_key: Adds the secure key support based on CAAM.
Secure keys are derieved using CAAM crypto block.

Secure keys derieved are the random number symmetric keys from CAAM.
Blobs corresponding to the key are formed using CAAM. User space
will only be able to view the blob of the key.

Signed-off-by: Udit Agarwal <udit.agarwal@nxp.com>
Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.com>
2019-11-25 15:43:20 +08:00
Linus Torvalds eb094f0696 Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 TSX Async Abort and iTLB Multihit mitigations from Thomas Gleixner:
 "The performance deterioration departement is not proud at all of
  presenting the seventh installment of speculation mitigations and
  hardware misfeature workarounds:

   1) TSX Async Abort (TAA) - 'The Annoying Affair'

      TAA is a hardware vulnerability that allows unprivileged
      speculative access to data which is available in various CPU
      internal buffers by using asynchronous aborts within an Intel TSX
      transactional region.

      The mitigation depends on a microcode update providing a new MSR
      which allows to disable TSX in the CPU. CPUs which have no
      microcode update can be mitigated by disabling TSX in the BIOS if
      the BIOS provides a tunable.

      Newer CPUs will have a bit set which indicates that the CPU is not
      vulnerable, but the MSR to disable TSX will be available
      nevertheless as it is an architected MSR. That means the kernel
      provides the ability to disable TSX on the kernel command line,
      which is useful as TSX is a truly useful mechanism to accelerate
      side channel attacks of all sorts.

   2) iITLB Multihit (NX) - 'No eXcuses'

      iTLB Multihit is an erratum where some Intel processors may incur
      a machine check error, possibly resulting in an unrecoverable CPU
      lockup, when an instruction fetch hits multiple entries in the
      instruction TLB. This can occur when the page size is changed
      along with either the physical address or cache type. A malicious
      guest running on a virtualized system can exploit this erratum to
      perform a denial of service attack.

      The workaround is that KVM marks huge pages in the extended page
      tables as not executable (NX). If the guest attempts to execute in
      such a page, the page is broken down into 4k pages which are
      marked executable. The workaround comes with a mechanism to
      recover these shattered huge pages over time.

  Both issues come with full documentation in the hardware
  vulnerabilities section of the Linux kernel user's and administrator's
  guide.

  Thanks to all patch authors and reviewers who had the extraordinary
  priviledge to be exposed to this nuisance.

  Special thanks to Borislav Petkov for polishing the final TAA patch
  set and to Paolo Bonzini for shepherding the KVM iTLB workarounds and
  providing also the backports to stable kernels for those!"

* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs
  Documentation: Add ITLB_MULTIHIT documentation
  kvm: x86: mmu: Recovery of shattered NX large pages
  kvm: Add helper function for creating VM worker threads
  kvm: mmu: ITLB_MULTIHIT mitigation
  cpu/speculation: Uninline and export CPU mitigations helpers
  x86/cpu: Add Tremont to the cpu vulnerability whitelist
  x86/bugs: Add ITLB_MULTIHIT bug infrastructure
  x86/tsx: Add config options to set tsx=on|off|auto
  x86/speculation/taa: Add documentation for TSX Async Abort
  x86/tsx: Add "auto" option to the tsx= cmdline parameter
  kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
  x86/speculation/taa: Add sysfs reporting for TSX Async Abort
  x86/speculation/taa: Add mitigation for TSX Async Abort
  x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
  x86/cpu: Add a helper function x86_read_arch_cap_msr()
  x86/msr: Add the IA32_TSX_CTRL MSR
2019-11-12 10:53:24 -08:00
Tariq Toukan 2836654a27 Documentation: TLS: Add missing counter description
Add TLS TX counter description for the handshake retransmitted
packets that triggers the resync procedure then skip it, going
into the regular transmit flow.

Fixes: 46a3ea9807 ("net/mlx5e: kTLS, Enhance TX resync flow")
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-05 18:34:06 -08:00
Gomez Iglesias, Antonio 7f00cc8d4a Documentation: Add ITLB_MULTIHIT documentation
Add the initial ITLB_MULTIHIT documentation.

[ tglx: Add it to the index so it gets actually built. ]

Signed-off-by: Antonio Gomez Iglesias <antonio.gomez.iglesias@intel.com>
Signed-off-by: Nelson D'Souza <nelson.dsouza@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2019-11-04 20:26:00 +01:00
Junaid Shahid 1aa9b9572b kvm: x86: mmu: Recovery of shattered NX large pages
The page table pages corresponding to broken down large pages are zapped in
FIFO order, so that the large page can potentially be recovered, if it is
not longer being used for execution.  This removes the performance penalty
for walking deeper EPT page tables.

By default, one large page will last about one hour once the guest
reaches a steady state.

Signed-off-by: Junaid Shahid <junaids@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2019-11-04 20:26:00 +01:00
Paolo Bonzini b8e8c8303f kvm: mmu: ITLB_MULTIHIT mitigation
With some Intel processors, putting the same virtual address in the TLB
as both a 4 KiB and 2 MiB page can confuse the instruction fetch unit
and cause the processor to issue a machine check resulting in a CPU lockup.

Unfortunately when EPT page tables use huge pages, it is possible for a
malicious guest to cause this situation.

Add a knob to mark huge pages as non-executable. When the nx_huge_pages
parameter is enabled (and we are using EPT), all huge pages are marked as
NX. If the guest attempts to execute in one of those pages, the page is
broken down into 4K pages, which are then marked executable.

This is not an issue for shadow paging (except nested EPT), because then
the host is in control of TLB flushes and the problematic situation cannot
happen.  With nested EPT, again the nested guest can cause problems shadow
and direct EPT is treated in the same way.

[ tglx: Fixup default to auto and massage wording a bit ]

Originally-by: Junaid Shahid <junaids@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2019-11-04 12:22:02 +01:00
Vineela Tummalapalli db4d30fbb7 x86/bugs: Add ITLB_MULTIHIT bug infrastructure
Some processors may incur a machine check error possibly resulting in an
unrecoverable CPU lockup when an instruction fetch encounters a TLB
multi-hit in the instruction TLB. This can occur when the page size is
changed along with either the physical address or cache type. The relevant
erratum can be found here:

   https://bugzilla.kernel.org/show_bug.cgi?id=205195

There are other processors affected for which the erratum does not fully
disclose the impact.

This issue affects both bare-metal x86 page tables and EPT.

It can be mitigated by either eliminating the use of large pages or by
using careful TLB invalidations when changing the page size in the page
tables.

Just like Spectre, Meltdown, L1TF and MDS, a new bit has been allocated in
MSR_IA32_ARCH_CAPABILITIES (PSCHANGE_MC_NO) and will be set on CPUs which
are mitigated against this issue.

Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Co-developed-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2019-11-04 12:22:01 +01:00