提交 cb7f7968 编写于 作者: F Franky Lin 提交者: John W. Linville

brcmfmac: remove align from brcmf_bus structure

remove align from brcmf_bus since it is only used by sdio bus layer internally
Reviewed-by: NHante Meuleman <meuleman@broadcom.com>
Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: NArend van Spriel <arend@broadcom.com>
Signed-off-by: NFranky Lin <frankyl@broadcom.com>
Signed-off-by: NArend van Spriel <arend@broadcom.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 b05e9254
...@@ -350,7 +350,6 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, ...@@ -350,7 +350,6 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
sdiodev->bus_if = bus_if; sdiodev->bus_if = bus_if;
bus_if->bus_priv.sdio = sdiodev; bus_if->bus_priv.sdio = sdiodev;
bus_if->align = BRCMF_SDALIGN;
dev_set_drvdata(&func->dev, bus_if); dev_set_drvdata(&func->dev, bus_if);
dev_set_drvdata(&sdiodev->func[1]->dev, bus_if); dev_set_drvdata(&sdiodev->func[1]->dev, bus_if);
sdiodev->dev = &sdiodev->func[1]->dev; sdiodev->dev = &sdiodev->func[1]->dev;
......
...@@ -69,7 +69,6 @@ struct brcmf_bus_ops { ...@@ -69,7 +69,6 @@ struct brcmf_bus_ops {
* @maxctl: maximum size for rxctl request message. * @maxctl: maximum size for rxctl request message.
* @tx_realloc: number of tx packets realloced for headroom. * @tx_realloc: number of tx packets realloced for headroom.
* @dstats: dongle-based statistical data. * @dstats: dongle-based statistical data.
* @align: alignment requirement for the bus.
* @dcmd_list: bus/device specific dongle initialization commands. * @dcmd_list: bus/device specific dongle initialization commands.
* @chip: device identifier of the dongle chip. * @chip: device identifier of the dongle chip.
* @chiprev: revision of the dongle chip. * @chiprev: revision of the dongle chip.
...@@ -84,7 +83,6 @@ struct brcmf_bus { ...@@ -84,7 +83,6 @@ struct brcmf_bus {
enum brcmf_bus_state state; enum brcmf_bus_state state;
uint maxctl; uint maxctl;
unsigned long tx_realloc; unsigned long tx_realloc;
u8 align;
u32 chip; u32 chip;
u32 chiprev; u32 chiprev;
struct list_head dcmd_list; struct list_head dcmd_list;
......
...@@ -1166,7 +1166,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) ...@@ -1166,7 +1166,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq)
{ {
u16 dlen, totlen; u16 dlen, totlen;
u8 *dptr, num = 0; u8 *dptr, num = 0;
u32 align = 0;
u16 sublen; u16 sublen;
struct sk_buff *pfirst, *pnext; struct sk_buff *pfirst, *pnext;
...@@ -1181,6 +1181,11 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) ...@@ -1181,6 +1181,11 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq)
brcmf_dbg(SDIO, "start: glomd %p glom %p\n", brcmf_dbg(SDIO, "start: glomd %p glom %p\n",
bus->glomd, skb_peek(&bus->glom)); bus->glomd, skb_peek(&bus->glom));
if (bus->sdiodev->pdata)
align = bus->sdiodev->pdata->sd_sgentry_align;
if (align < 4)
align = 4;
/* If there's a descriptor, generate the packet chain */ /* If there's a descriptor, generate the packet chain */
if (bus->glomd) { if (bus->glomd) {
pfirst = pnext = NULL; pfirst = pnext = NULL;
...@@ -1204,9 +1209,9 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) ...@@ -1204,9 +1209,9 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq)
pnext = NULL; pnext = NULL;
break; break;
} }
if (sublen % BRCMF_SDALIGN) { if (sublen % align) {
brcmf_err("sublen %d not multiple of %d\n", brcmf_err("sublen %d not multiple of %d\n",
sublen, BRCMF_SDALIGN); sublen, align);
} }
totlen += sublen; totlen += sublen;
...@@ -1219,7 +1224,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) ...@@ -1219,7 +1224,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq)
} }
/* Allocate/chain packet for next subframe */ /* Allocate/chain packet for next subframe */
pnext = brcmu_pkt_buf_get_skb(sublen + BRCMF_SDALIGN); pnext = brcmu_pkt_buf_get_skb(sublen + align);
if (pnext == NULL) { if (pnext == NULL) {
brcmf_err("bcm_pkt_buf_get_skb failed, num %d len %d\n", brcmf_err("bcm_pkt_buf_get_skb failed, num %d len %d\n",
num, sublen); num, sublen);
...@@ -1228,7 +1233,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) ...@@ -1228,7 +1233,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq)
skb_queue_tail(&bus->glom, pnext); skb_queue_tail(&bus->glom, pnext);
/* Adhere to start alignment requirements */ /* Adhere to start alignment requirements */
pkt_align(pnext, sublen, BRCMF_SDALIGN); pkt_align(pnext, sublen, align);
} }
/* If all allocations succeeded, save packet chain /* If all allocations succeeded, save packet chain
...@@ -3832,7 +3837,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev) ...@@ -3832,7 +3837,7 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev)
struct brcmf_sdio *bus; struct brcmf_sdio *bus;
struct brcmf_bus_dcmd *dlst; struct brcmf_bus_dcmd *dlst;
u32 dngl_txglom; u32 dngl_txglom;
u32 dngl_txglomalign; u32 txglomalign = 0;
u8 idx; u8 idx;
brcmf_dbg(TRACE, "Enter\n"); brcmf_dbg(TRACE, "Enter\n");
...@@ -3926,9 +3931,13 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev) ...@@ -3926,9 +3931,13 @@ void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev)
dlst->param_len = sizeof(u32); dlst->param_len = sizeof(u32);
} else { } else {
/* otherwise, set txglomalign */ /* otherwise, set txglomalign */
dngl_txglomalign = bus->sdiodev->bus_if->align; if (sdiodev->pdata)
txglomalign = sdiodev->pdata->sd_sgentry_align;
/* SDIO ADMA requires at least 32 bit alignment */
if (txglomalign < 4)
txglomalign = 4;
dlst->name = "bus:txglomalign"; dlst->name = "bus:txglomalign";
dlst->param = (char *)&dngl_txglomalign; dlst->param = (char *)&txglomalign;
dlst->param_len = sizeof(u32); dlst->param_len = sizeof(u32);
} }
list_add(&dlst->list, &bus->sdiodev->bus_if->dcmd_list); list_add(&dlst->list, &bus->sdiodev->bus_if->dcmd_list);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册