Commit bd018bba authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-5.12/libata-2021-02-17' of git://git.kernel.dk/linux-block

Pull libata updates from Jens Axboe:
 "Regulartors management addition from Florian, and a trivial change to
  avoid comma separated statements from Joe"

* tag 'for-5.12/libata-2021-02-17' of git://git.kernel.dk/linux-block:
  ata: Avoid comma separated statements
  ata: ahci_brcm: Add back regulators management
parents 24880bef e53d76e6
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -377,6 +377,10 @@ static int __maybe_unused brcm_ahci_resume(struct device *dev)
	if (ret)
		return ret;

	ret = ahci_platform_enable_regulators(hpriv);
	if (ret)
		goto out_disable_clks;

	brcm_sata_init(priv);
	brcm_sata_phys_enable(priv);
	brcm_sata_alpm_init(hpriv);
@@ -406,6 +410,8 @@ static int __maybe_unused brcm_ahci_resume(struct device *dev)
	ahci_platform_disable_phys(hpriv);
out_disable_phys:
	brcm_sata_phys_disable(priv);
	ahci_platform_disable_regulators(hpriv);
out_disable_clks:
	ahci_platform_disable_clks(hpriv);
	return ret;
}
@@ -490,6 +496,10 @@ static int brcm_ahci_probe(struct platform_device *pdev)
	if (ret)
		goto out_reset;

	ret = ahci_platform_enable_regulators(hpriv);
	if (ret)
		goto out_disable_clks;

	/* Must be first so as to configure endianness including that
	 * of the standard AHCI register space.
	 */
@@ -499,7 +509,7 @@ static int brcm_ahci_probe(struct platform_device *pdev)
	priv->port_mask = brcm_ahci_get_portmask(hpriv, priv);
	if (!priv->port_mask) {
		ret = -ENODEV;
		goto out_disable_clks;
		goto out_disable_regulators;
	}

	/* Must be done before ahci_platform_enable_phys() */
@@ -524,6 +534,8 @@ static int brcm_ahci_probe(struct platform_device *pdev)
	ahci_platform_disable_phys(hpriv);
out_disable_phys:
	brcm_sata_phys_disable(priv);
out_disable_regulators:
	ahci_platform_disable_regulators(hpriv);
out_disable_clks:
	ahci_platform_disable_clks(hpriv);
out_reset:
+13 −8
Original line number Diff line number Diff line
@@ -202,14 +202,19 @@ static void pata_icside_set_dmamode(struct ata_port *ap, struct ata_device *adev
	 * Choose the IOMD cycle timing which ensure that the interface
	 * satisfies the measured active, recovery and cycle times.
	 */
	if (t.active <= 50 && t.recover <= 375 && t.cycle <= 425)
		iomd_type = 'D', cycle = 187;
	else if (t.active <= 125 && t.recover <= 375 && t.cycle <= 500)
		iomd_type = 'C', cycle = 250;
	else if (t.active <= 200 && t.recover <= 550 && t.cycle <= 750)
		iomd_type = 'B', cycle = 437;
	else
		iomd_type = 'A', cycle = 562;
	if (t.active <= 50 && t.recover <= 375 && t.cycle <= 425) {
		iomd_type = 'D';
		cycle = 187;
	} else if (t.active <= 125 && t.recover <= 375 && t.cycle <= 500) {
		iomd_type = 'C';
		cycle = 250;
	} else if (t.active <= 200 && t.recover <= 550 && t.cycle <= 750) {
		iomd_type = 'B';
		cycle = 437;
	} else {
		iomd_type = 'A';
		cycle = 562;
	}

	ata_dev_info(adev, "timings: act %dns rec %dns cyc %dns (%c)\n",
		     t.active, t.recover, t.cycle, iomd_type);