Commit 359f3d74 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC and MEMSTICK updates from Ulf Hansson:
 "MMC core:
   - Return a proper response in case of an ioctl error
   - Issue HPI to interrupt BKOPS for eMMC if it timed out
   - Avoid hogging the CPU while polling for busy
   - Extend sd8787 pwrseq to support the wilc1000 SDIO
   - Remove a couple of confusing warning messages
   - Clarify comment for ->card_busy() host ops

  MMC host:
   - dw_mmc: Add data CRC error injection
   - mmci: De-assert reset during ->probe()
   - rtsx_pci: Fix long reads when clock is pre-scaled
   - sdhci: Correct the tuning command handle for PIO mode
   - sdhci-esdhc-imx: Improve support for auto tuning
   - sdhci-msm: Add support for the sc7280
   - sdhci-of-arasan: Don't auto tune for DDR50 mode for ZynqMP
   - sdhci-of-arasan: Enable support for auto cmd12
   - sdhci-of-arasan: Use 19MHz for SD default speed for ZynqMP for level shifter
   - usdhi6rol0: Implement the ->card_busy() host ops

  MEMSTICK:
   - A couple of minor cleanups"

* tag 'mmc-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (52 commits)
  mmc: queue: Remove unused parameters(request_queue)
  mmc: pwrseq: sd8787: fix compilation warning
  mmc: core: Return correct emmc response in case of ioctl error
  mmc: sdhci-esdhc-imx: Select the correct mode for auto tuning
  mmc: sdhci-esdhc-imx: Remove redundant code for manual tuning
  mmc: core: Issue HPI in case the BKOPS timed out
  mmc: queue: Match the data type of max_segments
  mmc: switch from 'pci_' to 'dma_' API
  memstick: switch from 'pci_' to 'dma_' API
  memstick: r592: Change the name of the 'pci_driver' structure to be consistent
  mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
  mmc: pwrseq: sd8787: add support for wilc1000
  dt-bindings: mmc: Extend pwrseq-sd8787 binding for wilc1000
  dt-bindings: mmc: fsl-imx-esdhc: change the pinctrl-names rule
  dt-bindings: mmc: fsl-imx-esdhc: add a new compatible string
  dt-bindings: mmc: renesas,sdhi: Document RZ/G2L bindings
  dt-bindings: mmc: renesas,sdhi: Fix dtbs-check warning
  mmc: core: Update ->card_busy() callback comment
  mmc: usdhi6rol0: Implement card_busy function
  mmc: sdhci: Correct the tuning command handle for PIO mode
  ...
parents 8e235ff9 a75c9561
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ properties:
          - fsl,imx53-esdhc
          - fsl,imx6q-usdhc
          - fsl,imx6sl-usdhc
          - fsl,imx6sll-usdhc
          - fsl,imx6sx-usdhc
          - fsl,imx6ull-usdhc
          - fsl,imx7d-usdhc
@@ -115,12 +116,17 @@ properties:
      - const: per

  pinctrl-names:
    minItems: 1
    oneOf:
      - minItems: 3
        items:
          - const: default
          - const: state_100mhz
          - const: state_200mhz
          - const: sleep
      - minItems: 1
        items:
          - const: default
          - const: sleep

required:
  - compatible
+3 −1
Original line number Diff line number Diff line
@@ -11,7 +11,9 @@ maintainers:

properties:
  compatible:
    const: mmc-pwrseq-sd8787
    enum:
      - mmc-pwrseq-sd8787
      - mmc-pwrseq-wilc1000

  powerdown-gpios:
    minItems: 1
+89 −44
Original line number Diff line number Diff line
@@ -9,9 +9,6 @@ title: Renesas SDHI SD/MMC controller
maintainers:
  - Wolfram Sang <wsa+renesas@sang-engineering.com>

allOf:
  - $ref: "mmc-controller.yaml"

properties:
  compatible:
    oneOf:
@@ -60,6 +57,7 @@ properties:
              - renesas,sdhi-r8a77990  # R-Car E3
              - renesas,sdhi-r8a77995  # R-Car D3
              - renesas,sdhi-r8a779a0  # R-Car V3U
              - renesas,sdhi-r9a07g044 # RZ/G2{L,LC}
          - const: renesas,rcar-gen3-sdhi # R-Car Gen3 or RZ/G2

  reg:
@@ -69,15 +67,9 @@ properties:
    minItems: 1
    maxItems: 3

  clocks:
    minItems: 1
    maxItems: 2
  clocks: true

  clock-names:
    minItems: 1
    items:
      - const: core
      - const: cd
  clock-names: true

  dmas:
    minItems: 4
@@ -104,22 +96,68 @@ properties:
  pinctrl-1:
    maxItems: 1

  pinctrl-names: true

  max-frequency: true

allOf:
  - $ref: "mmc-controller.yaml"

  - if:
      properties:
        compatible:
          contains:
            const: renesas,sdhi-r9a07g044
    then:
      properties:
        clocks:
          items:
            - description: IMCLK, SDHI channel main clock1.
            - description: IMCLK2, SDHI channel main clock2. When this clock is
                           turned off, external SD card detection cannot be
                           detected.
            - description: CLK_HS, SDHI channel High speed clock which operates
                           4 times that of SDHI channel main clock1.
            - description: ACLK, SDHI channel bus clock.
        clock-names:
          items:
            - const: imclk
            - const: imclk2
            - const: clk_hs
            - const: aclk
      required:
        - clock-names
        - resets
    else:
      properties:
        clocks:
          minItems: 1
          maxItems: 2
        clock-names:
          minItems: 1
          items:
            - const: core
            - const: cd

  - if:
      properties:
        compatible:
          contains:
            const: renesas,sdhi-mmc-r8a77470
    then:
      properties:
        pinctrl-names:
          items:
            - const: state_uhs
    else:
      properties:
        pinctrl-names:
          minItems: 1
          items:
            - const: default
            - const: state_uhs

  max-frequency: true

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - power-domains

if:
  - if:
      properties:
        compatible:
          contains:
@@ -134,6 +172,13 @@ then:
        sectioned off to be run by a separate second clock source to allow
        the main core clock to be turned off to save power.

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - power-domains

unevaluatedProperties: false

examples:
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ Required properties:
		"qcom,msm8996-sdhci", "qcom,sdhci-msm-v4"
		"qcom,qcs404-sdhci", "qcom,sdhci-msm-v5"
		"qcom,sc7180-sdhci", "qcom,sdhci-msm-v5";
		"qcom,sc7280-sdhci", "qcom,sdhci-msm-v5";
		"qcom,sdm845-sdhci", "qcom,sdhci-msm-v5"
		"qcom,sdx55-sdhci", "qcom,sdhci-msm-v5";
		"qcom,sm8250-sdhci", "qcom,sdhci-msm-v5"
+1 −1
Original line number Diff line number Diff line
@@ -1105,7 +1105,7 @@ static u16 msb_get_free_block(struct msb_data *msb, int zone)
	dbg_verbose("result of the free blocks scan: pba %d", pba);

	if (pba == msb->block_count || (msb_get_zone_from_pba(pba)) != zone) {
		pr_err("BUG: cant get a free block");
		pr_err("BUG: can't get a free block");
		msb->read_only = true;
		return MS_BLOCK_INVALID;
	}
Loading