summaryrefslogtreecommitdiffstats
path: root/sys/dev/mpt
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2010-07-12 22:57:57 +0000
committermarius <marius@FreeBSD.org>2010-07-12 22:57:57 +0000
commit5d8c463a69bce6b7f647594e803d09d14764a2bb (patch)
tree417038bbe0bda03e133c8005498537a499f54ad5 /sys/dev/mpt
parent27b230a9a37c96fef97b0bba8c03f7276a263746 (diff)
downloadFreeBSD-src-5d8c463a69bce6b7f647594e803d09d14764a2bb.zip
FreeBSD-src-5d8c463a69bce6b7f647594e803d09d14764a2bb.tar.gz
- Make the maxsize parameter of the data buffer DMA tag match maxio, which
was missed in r209599. Reported and tested by: Michael Moll - Declare mpt_dma_buf_alloc() static just like mpt_dma_buf_free(), both are used in mpt.c only. Reviewed by: ken MFC after: r209599
Diffstat (limited to 'sys/dev/mpt')
-rw-r--r--sys/dev/mpt/mpt.c8
-rw-r--r--sys/dev/mpt/mpt.h1
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/mpt/mpt.c b/sys/dev/mpt/mpt.c
index cc0ebd1..75fa564 100644
--- a/sys/dev/mpt/mpt.c
+++ b/sys/dev/mpt/mpt.c
@@ -128,6 +128,7 @@ static void mpt_send_event_ack(struct mpt_softc *mpt, request_t *ack_req,
static int mpt_send_event_request(struct mpt_softc *mpt, int onoff);
static int mpt_soft_reset(struct mpt_softc *mpt);
static void mpt_hard_reset(struct mpt_softc *mpt);
+static int mpt_dma_buf_alloc(struct mpt_softc *mpt);
static void mpt_dma_buf_free(struct mpt_softc *mpt);
static int mpt_configure_ioc(struct mpt_softc *mpt, int, int);
static int mpt_enable_ioc(struct mpt_softc *mpt, int);
@@ -2475,7 +2476,7 @@ mpt_download_fw(struct mpt_softc *mpt)
return (0);
}
-int
+static int
mpt_dma_buf_alloc(struct mpt_softc *mpt)
{
struct mpt_map_info mi;
@@ -2486,8 +2487,9 @@ mpt_dma_buf_alloc(struct mpt_softc *mpt)
/* Create a child tag for data buffers */
if (mpt_dma_tag_create(mpt, mpt->parent_dmat, 1,
0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
- NULL, NULL, MAXBSIZE, mpt->max_cam_seg_cnt,
- BUS_SPACE_MAXSIZE_32BIT, 0, &mpt->buffer_dmat) != 0) {
+ NULL, NULL, (mpt->max_cam_seg_cnt - 1) * PAGE_SIZE,
+ mpt->max_cam_seg_cnt, BUS_SPACE_MAXSIZE_32BIT, 0,
+ &mpt->buffer_dmat) != 0) {
mpt_prt(mpt, "cannot create a dma tag for data buffers\n");
return (1);
}
diff --git a/sys/dev/mpt/mpt.h b/sys/dev/mpt/mpt.h
index d7f922c..9026142 100644
--- a/sys/dev/mpt/mpt.h
+++ b/sys/dev/mpt/mpt.h
@@ -1279,7 +1279,6 @@ void mpt_check_doorbell(struct mpt_softc *mpt);
void mpt_dump_reply_frame(struct mpt_softc *mpt,
MSG_DEFAULT_REPLY *reply_frame);
-int mpt_dma_buf_alloc(struct mpt_softc *mpt);
void mpt_set_config_regs(struct mpt_softc *);
int mpt_issue_cfg_req(struct mpt_softc */*mpt*/, request_t */*req*/,
cfgparms_t *params,
OpenPOWER on IntegriCloud