Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jul 2010 22:57:57 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r209960 - head/sys/dev/mpt
Message-ID:  <201007122257.o6CMvvC5041893@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Mon Jul 12 22:57:57 2010
New Revision: 209960
URL: http://svn.freebsd.org/changeset/base/209960

Log:
  - 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

Modified:
  head/sys/dev/mpt/mpt.c
  head/sys/dev/mpt/mpt.h

Modified: head/sys/dev/mpt/mpt.c
==============================================================================
--- head/sys/dev/mpt/mpt.c	Mon Jul 12 21:47:30 2010	(r209959)
+++ head/sys/dev/mpt/mpt.c	Mon Jul 12 22:57:57 2010	(r209960)
@@ -128,6 +128,7 @@ static void mpt_send_event_ack(struct mp
 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);
 	}

Modified: head/sys/dev/mpt/mpt.h
==============================================================================
--- head/sys/dev/mpt/mpt.h	Mon Jul 12 21:47:30 2010	(r209959)
+++ head/sys/dev/mpt/mpt.h	Mon Jul 12 22:57:57 2010	(r209960)
@@ -1279,7 +1279,6 @@ void		mpt_check_doorbell(struct mpt_soft
 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,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007122257.o6CMvvC5041893>