Module Name:    src
Committed By:   rin
Date:           Tue Oct  5 08:21:10 UTC 2021

Modified Files:
        src/sys/dev/pcmcia: wdc_pcmcia.c

Log Message:
Advertise ATAC_CAP_DATA32 also for memory-mapped mode.

It seems that this flag bit is not enabled because memory-mapped mode
has its own wdc_softc:data{in,out}_pio routines. However, nowadays,
32-bit data access capability of a disk drive is not checked by ata(4)
backend unless this flag bit is set.

Tested with CF cards of few vendors and hd64461pcmcia(4) found for some
hpcsh machine models.


To generate a diff of this commit:
cvs rdiff -u -r1.128 -r1.129 src/sys/dev/pcmcia/wdc_pcmcia.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pcmcia/wdc_pcmcia.c
diff -u src/sys/dev/pcmcia/wdc_pcmcia.c:1.128 src/sys/dev/pcmcia/wdc_pcmcia.c:1.129
--- src/sys/dev/pcmcia/wdc_pcmcia.c:1.128	Tue Oct  5 08:08:40 2021
+++ src/sys/dev/pcmcia/wdc_pcmcia.c	Tue Oct  5 08:21:10 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: wdc_pcmcia.c,v 1.128 2021/10/05 08:08:40 rin Exp $ */
+/*	$NetBSD: wdc_pcmcia.c,v 1.129 2021/10/05 08:21:10 rin Exp $ */
 
 /*-
  * Copyright (c) 1998, 2003, 2004 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wdc_pcmcia.c,v 1.128 2021/10/05 08:08:40 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wdc_pcmcia.c,v 1.129 2021/10/05 08:21:10 rin Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -231,7 +231,7 @@ wdc_pcmcia_attach(device_t parent, devic
 	}
 
 	cfe = pa->pf->cfe;
-	sc->sc_wdcdev.sc_atac.atac_cap |= ATAC_CAP_DATA16;
+	sc->sc_wdcdev.sc_atac.atac_cap |= ATAC_CAP_DATA16 | ATAC_CAP_DATA32;
 
 	sc->sc_wdcdev.regs = wdr = &sc->wdc_regs;
 
@@ -286,7 +286,6 @@ wdc_pcmcia_attach(device_t parent, devic
 		aprint_normal_dev(self, "i/o mapped mode\n");
 		wdr->data32iot = wdr->cmd_iot;
 		wdr->data32ioh = wdr->cmd_iohs[wd_data];
-		sc->sc_wdcdev.sc_atac.atac_cap |= ATAC_CAP_DATA32;
 	}
 
 	sc->sc_wdcdev.sc_atac.atac_pio_cap = 0;

Reply via email to