- 21 Dec, 2018 1 commit
-
-
Yangtao Li authored
of_find_node_by_path() acquires a reference to the node returned by it and that reference needs to be dropped by its caller. This place doesn't do that, so fix it. Acked-by:
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by:
Yangtao Li <tiny.windzz@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 10 Dec, 2018 1 commit
-
-
Sergei Shtylyov authored
The driver overrides the error codes returned by platform_get_irq() to -EINVAL, so if it returns -EPROBE_DEFER, the driver would fail the probe permanently instead of the deferred probing. Switch to propagating the error code upstream, still checking/overriding IRQ0 as libata regards it as "no IRQ" (thus polling) anyway... Fixes: 9ec36caf ("of/irq: do irq resolution in platform_get_irq") Reviewed-by:
Simon Horman <horms+renesas@verge.net.au> Reviewed-by:
Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by:
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 05 Dec, 2018 5 commits
-
-
Linus Walleij authored
This creates a state container struct for the Palm LifeDrive ATA controller, and puts the ATA host and the two GPIO descriptors into this container. This avoids using a singleton so potentially multiple PATA interfaces can be instantiated. Suggested-by:
Marek Vasut <marek.vasut@gmail.com> Reviewed-by:
Marek Vasut <marek.vasut@gmail.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Linus Walleij authored
Instead of passing GPIO numbers directly to the PalmLD ATA driver, pass GPIO descriptors from the board file and handle these in the driver. Cc: Marek Vasut <marek.vasut@gmail.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Linus Walleij authored
Pass a GPIO descriptor for the device instead of a hardcoded GPIO number from the global GPIO numberspace. Use gpio descriptors throughout. Cut the now completely unused platform data for the CF slot. Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Waldemar Brodkorb <wbx@openadk.org> Cc: Matt Redfearn <matt.redfearn@mips.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Linus Walleij authored
This pure device tree driver is simple to convert to use just GPIO descriptors instead of GPIO numbers. So let's just do it. Cc: Mark Langsdorf <mlangsdo@redhat.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Linus Walleij authored
This driver does not use GPIO or anything from the GPIO header. Drop the include. Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 03 Dec, 2018 1 commit
-
-
Juha-Matti Tilli authored
These devices support read zero after trim (RZAT), as they advertise to the OS. However, the OS doesn't believe the SSDs unless they are explicitly whitelisted. Acked-by:
Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by:
Juha-Matti Tilli <juha-matti.tilli@iki.fi> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 15 Nov, 2018 1 commit
-
-
Christoph Hellwig authored
There is nothing it could synchronize against, so don't go through the pains of acquiring the lock. Reviewed-by:
Hannes Reinecke <hare@suse.com> Signed-off-by:
Christoph Hellwig <hch@lst.de> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 12 Nov, 2018 1 commit
-
-
Diego Viola authored
med_power_with_dipm still causes freezes after updating the firmware to the latest version (DXT04L5Q). Set model_rev to NULL and blacklist the device. Cc: stable@vger.kernel.org Signed-off-by:
Diego Viola <diego.viola@gmail.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 08 Nov, 2018 1 commit
-
-
Kuninori Morimoto authored
This patch updates license to use SPDX-License-Identifier instead of verbose license text. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 26 Oct, 2018 1 commit
-
-
Diego Viola authored
med_power_with_dipm causes my T450 to freeze with a SAMSUNG MZ7TD256HAFV-000L9 SSD (firmware DXT02L5Q). Switching the LPM to max_performance fixes this issue. Acked-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Diego Viola <diego.viola@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 10 Oct, 2018 2 commits
-
-
Christoph Hellwig authored
The few callers can just use dma_set_max_seg_size ()directly. Signed-off-by:
Christoph Hellwig <hch@lst.de> Signed-off-by:
Bjorn Helgaas <bhelgaas@google.com>
-
Bartlomiej Zolnierkiewicz authored
'default n' is the default value for any bool or tristate Kconfig setting so there is no need to write it explicitly. Also since commit f467c564 ("kconfig: only write '# CONFIG_FOO is not set' for visible symbols") the Kconfig behavior is the same regardless of 'default n' being present or not: ... One side effect of (and the main motivation for) this change is making the following two definitions behave exactly the same: config FOO bool config FOO bool default n With this change, neither of these will generate a '# CONFIG_FOO is not set' line (assuming FOO isn't selected/implied). That might make it clearer to people that a bare 'default n' is redundant. ... Signed-off-by:
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 04 Oct, 2018 1 commit
-
-
Nathan Chancellor authored
Clang warns when one enumerated type is implicitly converted to another. drivers/ata/pata_ep93xx.c:662:36: warning: implicit conversion from enumeration type 'enum dma_data_direction' to different enumeration type 'enum dma_transfer_direction' [-Wenum-conversion] drv_data->dma_rx_data.direction = DMA_FROM_DEVICE; ~ ^~~~~~~~~~~~~~~ drivers/ata/pata_ep93xx.c:670:36: warning: implicit conversion from enumeration type 'enum dma_data_direction' to different enumeration type 'enum dma_transfer_direction' [-Wenum-conversion] drv_data->dma_tx_data.direction = DMA_TO_DEVICE; ~ ^~~~~~~~~~~~~ drivers/ata/pata_ep93xx.c:681:19: warning: implicit conversion from enumeration type 'enum dma_data_direction' to different enumeration type 'enum dma_transfer_direction' [-Wenum-conversion] conf.direction = DMA_FROM_DEVICE; ~ ^~~~~~~~~~~~~~~ drivers/ata/pata_ep93xx.c:692:19: warning: implicit conversion from enumeration type 'enum dma_data_direction' to different enumeration type 'enum dma_transfer_direction' [-Wenum-conversion] conf.direction = DMA_TO_DEVICE; ~ ^~~~~~~~~~~~~ Use the equivalent valued enums from the expected type so that Clang no longer warns about a conversion. DMA_TO_DEVICE = DMA_MEM_TO_DEV = 1 DMA_FROM_DEVICE = DMA_DEV_TO_MEM = 2 Acked-by:
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by:
Nathan Chancellor <natechancellor@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 01 Oct, 2018 3 commits
-
-
Florian Fainelli authored
The Broadcom STB AHCI controller is the same as the one found on DSL SoCs, so we will utilize the same driver on these systems as well. Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Florian Fainelli authored
Match the "brcm,bcm63138-ahci" compatible string in order to allow this driver to probe on such platforms. Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Florian Fainelli authored
On BCM63138, we need to reset the AHCI core prior to start utilizing it, grab the reset controller device cookie and do that. Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 20 Sep, 2018 1 commit
-
-
Jens Axboe authored
hen we're comparing the hardware completion mask passed in from the driver with the internal tag pending mask, we need to account for the fact that the internal tag is different from the hardware tag. If not, then we can end up either prematurely completing the internal tag (since it's not set in the hw mask), or simply flag an error: ata2: illegal qc_active transition (100000000->00000001) If the internal tag is set, then swap that with the hardware tag in this case before comparing with what the hardware reports. Fixes: 28361c40 ("libata: add extra internal command") Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=201151 Cc: stable@vger.kernel.org Reported-by:
Paul Sbarra <sbarra.paul@gmail.com> Tested-by:
Paul Sbarra <sbarra.paul@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 11 Sep, 2018 1 commit
-
-
Nathan Chancellor authored
Clang warns when more than one set of parentheses is used for a single conditional statement: drivers/ata/pata_atiixp.c:282:19: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if((pdev->device == PCI_DEVICE_ID_ATI_IXP600_IDE)) ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/ata/pata_atiixp.c:282:19: note: remove extraneous parentheses around the comparison to silence this warning if((pdev->device == PCI_DEVICE_ID_ATI_IXP600_IDE)) ~ ^ ~ drivers/ata/pata_atiixp.c:282:19: note: use '=' to turn this equality comparison into an assignment if((pdev->device == PCI_DEVICE_ID_ATI_IXP600_IDE)) ^~ = 1 warning generated. Reported-by:
Nick Desaulniers <ndesaulniers@google.com> Reviewed-by:
Nick Desaulniers <ndesaulniers@google.com> Signed-off-by:
Nathan Chancellor <natechancellor@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 07 Sep, 2018 1 commit
-
-
Suman Tripathi authored
Due to hardware errata, Ampere Computing eMAG SATA can't support AHCI ALPM feature. This patch disables the AHCI ALPM feature for eMAG SATA. Signed-off-by:
Suman Trpathi <stripathi@amperecomputing.com> Signed-off-by:
Rameshwar Prasad Sahu <rameshwar.sahu@amperecomputing.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 03 Sep, 2018 3 commits
-
-
Corentin Labbe authored
This patch add the r40 compatible to the ahci_sunxi's supported list of compatible. Since R40 need ahci_platform to handle the reset controller, we also add the new AHCI_PLATFORM_GET_RESETS flag for ahci_platform_get_resources(). This has no consequence for older platform (a10, a20) since the reset is optional. Acked-by:
Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Corentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Corentin Labbe authored
The SoC R40 AHCI controller need a PHY regulator to work. But since the PHY is embedded in the controller, we cannot do a DT node for it, since phy-supply works only in node with a PHY compatible. So this patch adds a way to add an optional phy-supply regulator on AHCI controller node. Acked-by:
Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Corentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Corentin Labbe authored
The SoC R40 AHCI controller need a regulator to work. So this patch add a way to add an optional regulator on AHCI controller. Acked-by:
Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Corentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 30 Aug, 2018 1 commit
-
-
Linus Walleij authored
Instead of hardcoding magic values for the SMART password, use the defines in <linux/ata.h> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 28 Aug, 2018 1 commit
-
-
Rob Herring authored
In preparation to remove the node name pointer from struct device_node, convert printf users to use the %pOFn format specifier. Cc: Hans de Goede <hdegoede@redhat.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: linux-ide@vger.kernel.org Signed-off-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 27 Aug, 2018 2 commits
-
-
Linus Walleij authored
The DMA is broken on this specific device for some unknown reason (probably badly designed or plain broken interface electronics) and will only work with PIO. Other users of the same hardware does not have this problem. Add a specific quirk so that this Gemini device gets DMA turned off. Also fix up some code around passing the port information around in probe while we're at it. Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
Geert Uytterhoeven authored
With gcc 4.1.2: drivers/ata/libata-core.c:7396:33: warning: no newline at end of file Fixes: 2fa4a326 ("scsi: libsas: dynamically allocate and free ata host") Signed-off-by:
Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com>
-
- 22 Aug, 2018 3 commits
-
-
Kunihiko Hayashi authored
Unlike SoC-specific driver, generic ahci_platform driver doesn't have any chances to control resets. This adds AHCI_PLATFORM_GET_RESETS to ahci_platform_get_resources() on the generic driver to enable reset control support. Suggested-by:
Hans de Goede <hdegoede@redhat.com> Cc: Thierry Reding <thierry.reding@gmail.com> Signed-off-by:
Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Kunihiko Hayashi authored
Add support to get and control a list of resets for the device as optional and shared. These resets must be kept de-asserted until the device is enabled. This is specified as shared because some SoCs like UniPhier series have common reset controls with all ahci controller instances. However, according to Thierry's view, https://www.spinics.net/lists/linux-ide/msg55357.html some hardware-specific drivers already use their own resets, and the common reset make a path to occur double controls of resets. The ahci_platform_get_resources() can get and control the reset only when the second argument includes AHCI_PLATFORM_GET_RESETS bit. Suggested-by:
Hans de Goede <hdegoede@redhat.com> Cc: Thierry Reding <thierry.reding@gmail.com> Signed-off-by:
Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Kunihiko Hayashi authored
Add an extra argument to ahci_platform_get_resources(), that is for the bitmap representing the resource to get in this function. Currently there is no resources to be defined, so all the callers set '0' to the argument. Suggested-by:
Hans de Goede <hdegoede@redhat.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by:
Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
- 06 Aug, 2018 3 commits
-
-
Masaharu Hayakawa authored
According to documentation, setting of PHY registers is unnecessary with R-Car Gen3. The registers are not even described. So, don't initialize them. Signed-off-by:
Masaharu Hayakawa <masaharu.hayakawa.ry@renesas.com> [wsa: updated commit message] Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by:
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Wolfram Sang authored
Since R-Car Gen2, a new bit has been introduced to the interrupt mask register. Update the code to handle it properly as well. Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by:
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Tejun Heo authored
This reverts commit aece27a2. Causes boot failure on some devices. http://lore.kernel.org/r/CA+G9fYuKW_jCFZPqG4tz=QY9ROfHO38KiCp9XTA+KaDOFVtcqQ@mail.gmail.comSigned-off-by:
Tejun Heo <tj@kernel.org>
-
- 02 Aug, 2018 1 commit
-
-
Kees Cook authored
To support future compile-time sizeof() checks that will be able to validate the length of sense buffers, this removes the only dynamically allocated sense buffers in the tree by putting the 96 byte sense buffers on the stack. Reviewed-by:
Christoph Hellwig <hch@lst.de> Acked-by:
Tejun Heo <tj@kernel.org> Signed-off-by:
Kees Cook <keescook@chromium.org> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
-
- 30 Jul, 2018 4 commits
-
-
Srinivas Pandruvada authored
There are two modes in which DEVSLP can be entered. The OS initiated or hardware autonomous. In hardware autonomous mode, BIOS configures the AHCI controller and the device to enable DEVSLP. But they may not be ideal for all cases. So in this case, OS should be able to reconfigure DEVSLP register. Currently if the DEVSLP is already enabled, we can't set again as it will simply return. There are some systems where the firmware is setting high DITO by default, in this case we can't modify here to correct settings. With the default in several seconds, we are not able to transition to DEVSLP. This change will allow reconfiguration of devslp register if DITO is different. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Srinivas Pandruvada authored
We have seen that on some platforms, SATA device never show any DEVSLP residency. This prevent power gating of SATA IP, which prevent system to transition to low power mode in systems with SLP_S0 aka modern standby systems. The PHY logic is off only in DEVSLP not in slumber. Reference: https://www.intel.com/content/dam/www/public/us/en/documents/datasheets /332995-skylake-i-o-platform-datasheet-volume-1.pdf Section 28.7.6.1 Here driver is trying to do read-modify-write the devslp register. But not resetting the bits for which this driver will modify values (DITO, MDAT and DETO). So simply reset those bits before updating to new values. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Reviewed-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Srinivas Pandruvada authored
One of the requirement for modern x86 system to enter lowest power mode (SLP_S0) is SATA IP block to be off. This is true even during when platform is suspended to idle and not only in opportunistic (runtime) suspend. Several of these system don't have traditional ACPI S3, so it is important that they enter SLP_S0 state, to avoid draining battery even during suspend. So it is important that out of the box Linux installation reach this state. SATA IP block doesn't get turned off till SATA is in DEVSLP mode. Here user has to either use scsi-host sysfs or tools like powertop to set the sata-host link_power_management_policy to min_power. This change sets by default link power management policy to min_power with partial (preferred) or slumber support on idle for some platforms. To avoid regressions, the following conditions are used: - User didn't override the policy from module parameter - The kernel config is already set to use med_power_with_dipm or deeper - System is a SLP_S0 capable using ACPI low power idle flag This combination will make sure that systems are fairly recent and since getting shipped with SLP_S0 support, the DEVSLP function is already validated. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
Srinivas Pandruvada authored
Currently when min_power policy is selected, the partial low power state is not entered and link will try aggressively enter to only slumber state. Add a new policy which still enable DEVSLP but also try to enter partial low power state. This policy is presented as "min_power_with_partial". For information the difference between partial and slumber Partial – PHY logic is powered up, and in a reduced power state. The link PM exit latency to active state maximum is 10 ns. Slumber – PHY logic is powered up, and in a reduced power state. The link PM exit latency to active state maximum is 10 ms. Devslp – PHY logic is powered down. The link PM exit latency from this state to active state maximum is 20 ms, unless otherwise specified by DETO. Suggested-and-reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-
- 24 Jul, 2018 1 commit
-
-
Corentin Labbe authored
Since ahci_platform_put_resources() use target_pwrs after "devm_" freed it, we cannot use devm_kcalloc for allocating target_pwrs. This reverts commit bd0038b1. Reported-and-reviwed-by:
Mikko Perttunen <mperttunen@nvidia.com> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-by:
Jon Hunter <jonathanh@nvidia.com> Signed-off-by:
Corentin Labbe <clabbe@baylibre.com> Signed-off-by:
Tejun Heo <tj@kernel.org>
-