From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Ondrej Zary <linux@zary.sk>, Sergey Shtylyov <s.shtylyov@omp.ru>,
Damien Le Moal <dlemoal@kernel.org>,
Sasha Levin <sashal@kernel.org>,
axboe@kernel.dk, linux-ide@vger.kernel.org
Subject: [PATCH AUTOSEL 6.5 25/31] ata: pata_parport: fit3: implement IDE command set registers
Date: Wed, 18 Oct 2023 10:11:42 -0400 [thread overview]
Message-ID: <20231018141151.1334501-25-sashal@kernel.org> (raw)
In-Reply-To: <20231018141151.1334501-1-sashal@kernel.org>
From: Ondrej Zary <linux@zary.sk>
[ Upstream commit 0c1e81d0b5ebd5813536dd5fcf5966ad043f37dc ]
fit3 protocol driver does not support accessing IDE control registers
(device control/altstatus). The DOS driver does not use these registers
either (as observed from DOSEMU trace). But the HW seems to be capable
of accessing these registers - I simply tried bit 3 and it works!
The control register is required to properly reset ATAPI devices or
they will be detected only once (after a power cycle).
Tested with EXP Computer CD-865 with MC-1285B EPP cable and
TransDisk 3000.
Signed-off-by: Ondrej Zary <linux@zary.sk>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/ata/pata_parport/fit3.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/drivers/ata/pata_parport/fit3.c b/drivers/ata/pata_parport/fit3.c
index bad7aa920cdca..d2b81cf2e16d2 100644
--- a/drivers/ata/pata_parport/fit3.c
+++ b/drivers/ata/pata_parport/fit3.c
@@ -9,11 +9,6 @@
*
* The TD-2000 and certain older devices use a different protocol.
* Try the fit2 protocol module with them.
- *
- * NB: The FIT adapters do not appear to support the control
- * registers. So, we map ALT_STATUS to STATUS and NO-OP writes
- * to the device control register - this means that IDE reset
- * will not work on these devices.
*/
#include <linux/module.h>
@@ -37,8 +32,7 @@
static void fit3_write_regr(struct pi_adapter *pi, int cont, int regr, int val)
{
- if (cont == 1)
- return;
+ regr += cont << 3;
switch (pi->mode) {
case 0:
@@ -59,11 +53,7 @@ static int fit3_read_regr(struct pi_adapter *pi, int cont, int regr)
{
int a, b;
- if (cont) {
- if (regr != 6)
- return 0xff;
- regr = 7;
- }
+ regr += cont << 3;
switch (pi->mode) {
case 0:
--
2.40.1
next prev parent reply other threads:[~2023-10-18 14:14 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-18 14:11 [PATCH AUTOSEL 6.5 01/31] Input: xpad - add HyperX Clutch Gladiate Support Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 02/31] ASoC: Intel: soc-acpi: Add entry for sof_es8336 in MTL match table Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 03/31] ASoC: Intel: sof_sdw: add support for SKU 0B14 Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 04/31] ASoC: simple-card: fixup asoc_simple_probe() error handling Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 05/31] coresight: tmc-etr: Disable warnings for allocation failures Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 06/31] ACPI: EC: Add quirk for the HP Pavilion Gaming 15-dk1xxx Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 07/31] ASoC: fsl-asoc-card: use integer type for fll_id and pll_id Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 08/31] ASoC: core: Do not call link_exit() on uninitialized rtd objects Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 09/31] ASoC: tlv320adc3xxx: BUG: Correct micbias setting Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 10/31] Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 11/31] Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 12/31] workqueue: Fix UAF report by KASAN in pwq_release_workfn() Sasha Levin
2023-10-22 2:52 ` Z qiang
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 13/31] ALSA: usb-audio: Fix microphone sound on Opencomm2 Headset Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 14/31] net: sched: cls_u32: Fix allocation size in u32_init() Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 15/31] arm64: dts: imx93: add the Flex-CAN stop mode by GPR Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 16/31] can: flexcan: remove the auto stop mode for IMX93 Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 17/31] irqchip/gic-v3-its: Split allocation from initialisation of its_node Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 18/31] irqchip/gic-v3: Enable non-coherent redistributors/ITSes DT probing Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 19/31] irqchip/riscv-intc: Mark all INTC nodes as initialized Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 20/31] irqchip/stm32-exti: add missing DT IRQ flag translation Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 21/31] dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 22/31] ALSA: usb-audio: Fix microphone sound on Nexigo webcam Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 23/31] ACPI: resource: Add TongFang GM6BGEQ, GM6BG5Q and GM6BG0Q to irq1_edge_low_force_override[] Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 24/31] ata: pata_parport: add custom version of wait_after_reset Sasha Levin
2023-10-18 14:11 ` Sasha Levin [this message]
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 26/31] net: macsec: indicate next pn update when offloading Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 27/31] powerpc/85xx: Fix math emulation exception Sasha Levin
2023-10-18 14:11 ` Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 28/31] media: i2c: ov8858: Don't set fwnode in the driver Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 29/31] Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 30/31] Input: xpad - add PXN V900 support Sasha Levin
2023-10-18 14:11 ` [PATCH AUTOSEL 6.5 31/31] Input: powermate - fix use-after-free in powermate_config_complete Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231018141151.1334501-25-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=axboe@kernel.dk \
--cc=dlemoal@kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@zary.sk \
--cc=s.shtylyov@omp.ru \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.