summaryrefslogtreecommitdiffstats
path: root/sys/dev/esp
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2004-06-11 15:33:20 +0000
committerscottl <scottl@FreeBSD.org>2004-06-11 15:33:20 +0000
commit562bd73d68914ca58cc2f8e688d547265ba3e678 (patch)
tree69e9deda1c2025e06e9814fe3239673c75993a38 /sys/dev/esp
parent542eb308da8b51a8f867ac2cbf8e130b7f0a338c (diff)
downloadFreeBSD-src-562bd73d68914ca58cc2f8e688d547265ba3e678.zip
FreeBSD-src-562bd73d68914ca58cc2f8e688d547265ba3e678.tar.gz
Make the XPT_CALC_GEOMETRY op dependent on the sc_extended_geometry flag
that is set in the bus front-end.
Diffstat (limited to 'sys/dev/esp')
-rw-r--r--sys/dev/esp/esp_sbus.c2
-rw-r--r--sys/dev/esp/ncr53c9x.c2
-rw-r--r--sys/dev/esp/ncr53c9xvar.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/esp/esp_sbus.c b/sys/dev/esp/esp_sbus.c
index 70c6538..48e4a2f 100644
--- a/sys/dev/esp/esp_sbus.c
+++ b/sys/dev/esp/esp_sbus.c
@@ -391,6 +391,8 @@ espattach(struct esp_softc *esc, struct ncr53c9x_glue *gluep)
sc->sc_maxsync = sc->sc_minsync;
sc->sc_maxoffset = 15;
+ sc->sc_extended_geometry = 1;
+
/*
* Alas, we must now modify the value a bit, because it's
* only valid when can switch on FASTCLK and FASTSCSI bits
diff --git a/sys/dev/esp/ncr53c9x.c b/sys/dev/esp/ncr53c9x.c
index d160dcb..01d81a4 100644
--- a/sys/dev/esp/ncr53c9x.c
+++ b/sys/dev/esp/ncr53c9x.c
@@ -839,7 +839,7 @@ ncr53c9x_action(struct cam_sim *sim, union ccb *ccb)
return;
case XPT_CALC_GEOMETRY:
mtx_unlock(&sc->sc_lock);
- cam_calc_geometry(&ccb->ccg, 0); /* XXX Extended? */
+ cam_calc_geometry(&ccb->ccg, sc->sc_extended_geom);
xpt_done(ccb);
return;
case XPT_PATH_INQ:
diff --git a/sys/dev/esp/ncr53c9xvar.h b/sys/dev/esp/ncr53c9xvar.h
index fa4c6c4..ba44566 100644
--- a/sys/dev/esp/ncr53c9xvar.h
+++ b/sys/dev/esp/ncr53c9xvar.h
@@ -345,6 +345,7 @@ struct ncr53c9x_softc {
int sc_maxsync; /* Maximum sync period */
int sc_maxoffset; /* Maximum offset */
int sc_maxwidth; /* Maximum width */
+ int sc_extended_geom; /* Should we return extended geometry */
struct mtx sc_lock; /* driver mutex */
};
OpenPOWER on IntegriCloud