12 Feb, 2019

40 commits

  • Add brcmfmac platform device pinctrl state support. That is useful
    for dynamically configurate pin group for different wlan chips.

    Reviewed-by: Richard Zhu
    Signed-off-by: Fugang Duan

    Andy Duan
     
  • Add helper functions backlight_enable and backlight_disable to
    enable/disable a backlight device. These helper functions can
    then be used by different drm and tinydrm drivers to avoid
    repetition of code and also to enforce a uniform and consistent
    way to enable/disable a backlight device.

    Acked-by: Daniel Thompson
    Reviewed-by: Noralf Trønnes
    Reviewed-by: Sean Paul
    Signed-off-by: Meghana Madhyastha
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/39b5bf0a02008a8072d910bdf8231c431e9ef504.1516810725.git.meghana.madhyastha@gmail.com

    Meghana Madhyastha
     
  • Since the DP pullup can be finished at glue layer, we can delete
    it at common code, but we still need to keep DP pulldown operation
    since the DP may have already pulled up before.

    Reviewed-by: Jun Li
    Signed-off-by: Peter Chen

    Peter Chen
     
  • The flexcan driver allocates canfd-skb no matter whether use CAN FD
    mode or not, it's unreasonable due to it will affect the parse of the
    remote request frame.

    To fix the issue, allocating can-skb with "alloc_can_skb()" in normal
    mode and canfd-skb with "alloc_canfd_skb()" in fd mode.

    Reviewed-by: Dong Aisheng
    Signed-off-by: Joakim Zhang

    Joakim Zhang
     
  • Some platforms may want to use USB PHY charger detection function
    when VBUS is there, add one flag for it. The user can enable it
    at firmware.

    Reviewed-by: Jun Li
    Signed-off-by: Peter Chen

    Peter Chen
     
  • The field support_vsel is currently only used in the device tree
    case. Get rid of it. No change in behavior.

    Signed-off-by: Stefan Agner
    Signed-off-by: Ulf Hansson
    (cherry picked from commit 86f495c57f7146bc5d363d27483957928bb9d1d8)

    Stefan Agner
     
  • Add multi-fifo script for i.mx6 instead of dual fifo script, because
    there is one hardware issue inside SSI ip and switch between dual fifo
    and single fifo could workaroud it, so add multi-fifo scripts.

    Signed-off-by: Robin Gong
    (cherry picked from commit 85bb6546ff8cb1fc323e568d689a1e078eaca8fa)

    Robin Gong
     
  • - Add the timeout mu msg send api.
    - Use the timeout mu send message function to do the
    notification when multi-vdev is enabled on one channel.

    Signed-off-by: Richard Zhu

    Richard Zhu
     
  • Add CAN FD protocol support which supports extended frames up to 64
    bytes

    Signed-off-by: Joakim Zhang

    Dong AiSheng
     
  • Add support for unbinding the generic PCI host controller. This is
    particularly useful when working in virtual environments where the
    controller may come and go, but possibly not only there.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Bjorn Helgaas
    CC: Will Deacon
    CC: Lorenzo Pieralisi
    (cherry picked from commit 01fcb7f777a9f5d216a1ff41228f15656e50fb63)
    (cherry picked from commit 6a8a0e11c827908864cdd45623aa17b5bc80d2e5)
    Signed-off-by: Peng Fan

    Jan Kiszka
     
  • The only user of pci_get_new_domain_nr() is of_pci_bus_find_domain_nr().
    Since they are defined in the same file, pci_get_new_domain_nr() can be
    made static, which also simplifies preprocessor conditionals.

    No functional change intended.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Bjorn Helgaas
    Acked-by: Lorenzo Pieralisi
    (cherry picked from commit ae07b786888f1872ac2b63d74a17e206d441ec9f)
    (cherry picked from commit 3c52948d8a977b147e7b36172b9531eb2b7cb59d)
    Signed-off-by: Peng Fan

    Jan Kiszka
     
  • Since I can remember DM has forced the block layer to allow the
    allocation and initialization of the request_queue to be distinct
    operations. Reason for this is block/genhd.c:add_disk() has requires
    that the request_queue (and associated bdi) be tied to the gendisk
    before add_disk() is called -- because add_disk() also deals with
    exposing the request_queue via blk_register_queue().

    DM's dynamic creation of arbitrary device types (and associated
    request_queue types) requires the DM device's gendisk be available so
    that DM table loads can establish a master/slave relationship with
    subordinate devices that are referenced by loaded DM tables -- using
    bd_link_disk_holder(). But until these DM tables, and their associated
    subordinate devices, are known DM cannot know what type of request_queue
    it needs -- nor what its queue_limits should be.

    This chicken and egg scenario has created all manner of problems for DM
    and, at times, the block layer.

    Summary of changes:

    - Add device_add_disk_no_queue_reg() and add_disk_no_queue_reg() variant
    that drivers may use to add a disk without also calling
    blk_register_queue(). Driver must call blk_register_queue() once its
    request_queue is fully initialized.

    - Return early from blk_unregister_queue() if QUEUE_FLAG_REGISTERED
    is not set. It won't be set if driver used add_disk_no_queue_reg()
    but driver encounters an error and must del_gendisk() before calling
    blk_register_queue().

    - Export blk_register_queue().

    These changes allow DM to use add_disk_no_queue_reg() to anchor its
    gendisk as the "master" for master/slave relationships DM must establish
    with subordinate devices referenced in DM tables that get loaded. Once
    all "slave" devices for a DM device are known its request_queue can be
    properly initialized and then advertised via sysfs -- important
    improvement being that no request_queue resource initialization
    performed by blk_register_queue() is missed for DM devices anymore.

    Signed-off-by: Mike Snitzer
    Reviewed-by: Ming Lei
    Signed-off-by: Jens Axboe
    (cherry picked from commit fa70d2e2c4a0a54ced98260c6a176cc94c876d27)

    Mike Snitzer
     
  • That we we can also poll non blk-mq queues. Mostly needed for
    the NVMe multipath code, but could also be useful elsewhere.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Jens Axboe
    (cherry picked from commit ea435e1b9392a33deceaea2a16ebaa3397bead93)

    Christoph Hellwig
     
  • With this flag a driver can create a gendisk that can be used for I/O
    submission inside the kernel, but which is not registered as user
    facing block device. This will be useful for the NVMe multipath
    implementation.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe
    (cherry picked from commit 8ddcd653257c18a669fcb75ee42c37054908e0d6)

    Christoph Hellwig
     
  • The hidden gendisks introduced in the next patch need to keep the dev
    field in their struct device empty so that udev won't try to create
    block device nodes for them. To support that rewrite disk_devt to
    look at the major and first_minor fields in the gendisk itself instead
    of looking into the struct device.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Jens Axboe
    (cherry picked from commit 517bf3c306bad4fe0da631f90ae2ec40924dee2b)

    Christoph Hellwig
     
  • This helpers allows to bounce steal the uncompleted bios from a request so
    that they can be reissued on another path.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Sagi Grimberg
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Jens Axboe
    (cherry picked from commit ef71de8b15d891b27b8c983a9a8972b11cb4576a)

    Christoph Hellwig
     
  • This helper allows reinserting a bio into a new queue without much
    overhead, but requires all queue limits to be the same for the upper
    and lower queues, and it does not provide any recursion preventions.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Sagi Grimberg
    Reviewed-by: Javier González
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Jens Axboe
    (cherry picked from commit f421e1d9ade4e1b88183e54425cf50e390d16a7f)

    Christoph Hellwig
     
  • Set aside a bit in the request/bio flags for driver use.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Sagi Grimberg
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Jens Axboe
    (cherry picked from commit 96222bcc732d0504363dc772637c50e53b4bd41e)

    Christoph Hellwig
     
  • This flag should be before the operation-specific REQ_NOUNMAP bit.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Sagi Grimberg
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Jens Axboe
    (cherry picked from commit 8977f563845bdd61fc61c4dfb399270b7d5667c6)

    Christoph Hellwig
     
  • These two functions are only called from inside the block layer so
    unexport them.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Bart Van Assche
    Signed-off-by: Jens Axboe
    (cherry picked from commit 83d016ac86428dbca8a62d3e4fdc29e3ea39e535)

    Bart Van Assche
     
  • Enabled the FlexSPI Octal DDR read for QXP, since all parameters for
    this mode cannot be read from SFDP table, set the related parameters in
    spi_nor_init_params.

    Signed-off-by: Han Xu

    Han Xu
     
  • read_mode won't be used from 4.14 framework, switch it to hwcaps

    Signed-off-by: Han Xu

    Han Xu
     
  • Some MICRON related macros in spi-nor domain were ST, actually. We
    need to add the REAL micron defination in header/source files for
    mt35xu512aba Micron Octal Nor chip.

    Signed-off-by: Han Xu

    Han Xu
     
  • Enhanced spi-nor framework to support octal read mode

    Signed-off-by: Han Xu
    Acked-by: Frank Li
    (cherry picked from commit 95d0d54019ec291bf5430090dccb6dd66ea87de7)

    Han Xu
     
  • The device 43428 is a new SDIO device ID but shares the same WLAN core
    with device 43430a1. It is a 1x1 802.11b/g/n 2.4GHz HT20,
    256-QAM/Turbo QAM WLAN chip.

    Signed-off-by: Wright Feng
    Signed-off-by: Chi-hsien Lin
    Signed-off-by: Fugang Duan

    Wright Feng
     
  • CYW43012 is a 1x1 802.11a/b/g/n Dual-Band HT20, 256-QAM/Turbo QAM. It
    is an Ultra Low Power WLAN+BT combo chip.

    Signed-off-by: Chi-Hsien Lin
    Signed-off-by: Fugang Duan

    Chi-Hsien Lin
     
  • Add new cell for sw_done/sw_done_selector, because PDM need enable
    software done feature in sdma 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
    Reviewed-by: Shengjiu Wang

    Robin Gong
     
  • Add hantro 845 h1 encoder driver source

    Signed-off-by: Zhou Peng

    Zhou Peng
     
  • Signed-off-by: Haoran.Wang
    Signed-off-by: Robin Gong
    Signed-off-by: Anson Huang
    (cherry picked from commit 37f67d291e74a3428310cb5c98f556411042f810)

    Haoran.Wang
     
  • This reverts commit c961b277abd69175e1b1ad733ed6b2b911a61211.

    This patched worked on 4.14.18 but on 4.14.34 it now causes a deadlock
    because upstream changed phy locking:

    commit 6bccf8962b78 ("net: phy: Restore phy_resume() locking assumption"):
    https://bitbucket.sw.nxp.com/projects/IMX/repos/linux-imx/commits/6bccf8962b7874a2e66c2f78c9e48e0a7012c541

    Instead of fixing locking just revert this patch, a different fix was
    already upsteamed for ksz8081 suspend/resume on 6ul-14x14-evk:

    commit e6f4292ae0a1 ("ARM: dts: imx6ul-14x14-evk: Add ksz8081 phy properties"):
    https://bitbucket.sw.nxp.com/projects/IMX/repos/linux-imx/commits/e6f4292ae0a1e73fae26ced57de13a48f71ad1fa
    commit 79e498a9c7da ("net: phy: micrel: Restore led_mode and clk_sel on resume"):
    https://bitbucket.sw.nxp.com/projects/IMX/repos/linux-imx/commits/79e498a9c7da0737829ff864aae44df434105676

    After reverting this patch suspend/resume still works on imx6ul and
    imx6ull evk boards.

    Signed-off-by: Leonard Crestez
    Acked-by: Fugang Duan

    Leonard Crestez
     
  • According to ANSI-CTA-861-G specification:
    * EOTF is 8 bit, not 16;
    * metadata type is 8 bit, not 16;
    * There's no "Minimum Content Light Level"

    This patch will change the HDR metadata structures to reflect that. Also, this
    will fix problems seen on some TVs that were rejecting HDR metadata because
    it's size was too big (more than 26 bytes).

    Signed-off-by: Laurentiu Palcu
    CC: Sandor Yu

    Laurentiu Palcu
     
  • NXP i.MX7ULP EVK boards all sensors connect with M4 core, A core
    has to conmunicate with sensors by virtual io bus like rpmsg bus.
    The driver implement the virtual sensor input driver to configure
    sensors active/idle/delay actions and report the sensors' event to
    user space.

    Supply below sysfs for user to enable/disable detector and counter,
    set poll delay:
    /sys/class/misc/step_counter/enable
    /sys/class/misc/step_detector/enable
    /sys/class/misc/step_counter/poll_delay

    Reviewed-by: Elven Wang
    Signed-off-by: Fugang Duan

    Fugang Duan
     
  • Add feature of setting slot index via devicetree alias, to hard code the
    mmc/sd root device.

    The patch requires additional alias_id fix or it won't work.

    Note: minor device number keep independent with this device alias.

    Refer to the commit 35928d6c6a76 ("mmc: Allow setting slot index via
    devicetree alias").

    Acked-by: Leonard Crestez
    Reviewed-by: Dong Aisheng
    Signed-off-by: Haibo Chen

    Haibo Chen
     
  • Enable Dynamic Range and Mastering Infoframe for HDR
    content, which is defined in CEA 861.3 spec.

    The metadata will be computed based on blending
    policy in userspace compositors and passed as a connector
    property blob to driver. The same will be sent as infoframe
    to panel which support HDR.

    Signed-off-by: Uma Shankar

    Uma Shankar
     
  • Since other USB 2.0 host may need it, like USB2 for XHCI. We move
    this design to HCD core.

    Acked-by: Jun Li
    Signed-off-by: Peter Chen

    Peter Chen
     
  • Adding CLK_FRAC_DIVIDER_ZERO_BASED flag to indicate the numerator and
    denominator value in register are start from 0.

    This can be used to support frac dividers like below:
    Divider output clock = Divider input clock x [(frac +1) / (div +1)]
    where frac/div in register is:
    000b - Divide by 1.
    001b - Divide by 2.
    010b - Divide by 3.

    Cc: Anson Huang
    Reviewed-by: Bai Ping
    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • For dividers with zero indicating clock is disabled, instead of giving a
    warning each time like "clkx: Zero divisor and CLK_DIVIDER_ALLOW_ZERO not
    set" in exist code, we'd like to introduce enable/disable function for it.
    e.g.
    000b - Clock disabled
    001b - Divide by 1
    010b - Divide by 2
    ...

    Set rate when the clk is disabled will cache the rate request and only
    when the clk is enabled will the driver actually program the hardware to
    have the requested divider value. Similarly, when the clk is disabled we'll
    write a 0 there, but when the clk is enabled we'll restore whatever rate
    (divider) was chosen last.

    It does mean that recalc rate will be sort of odd, because when the clk is
    off it will return 0, and when the clk is on it will return the right rate.
    So to make things work, we'll need to return the cached rate in recalc rate
    when the clk is off and read the hardware when the clk is on.

    NOTE for the default off divider, the recalc rate will still return 0 as
    there's still no proper preset rate. Enable such divider will give user
    a reminder error message.

    Cc: Anson Huang
    Reviewed-by: Bai Ping
    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • In order to support multi-fifo sdma script, the audio driver need to send
    the fifo number to dma driver through dma_slave_config, so add src_fifo_num
    and dst_fifo_num two new variable for struct dma_slave_config.

    src_fifo_num: bit 0-7 is the fifo number, bit:8-11 is the fifo offset;
    dst_fifo_num: same as src_fifo_num

    Signed-off-by: Shengjiu Wang
    Reviewed-by: Robin Gong

    Shengjiu Wang
     
  • update sdma script for multi fifo SAI on i.mx8MQ.

    Signed-off-by: Robin Gong

    Robin Gong
     
  • Currently the clock parent actually is failed to be restored in power
    domain driver due to the set_parent will bail out early as the clk core
    already cached the same old parent.

    Implement a CLK_SET_PARENT_NOCACHE flag in clk core and register all
    SC mux clocks with this flag to make sure the clk core won't bypass
    the SC clock parent setting.

    [ Aisheng: "Add commit message" ]

    Reviewed-by: Anson Huang
    Signed-off-by: Dong Aisheng
    Signed-off-by: Ranjani Vaidyanathan

    Ranjani Vaidyanathan