usb: mtu3: remove QMU checksum
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Thu, 29 Nov 2018 02:34:32 +0000 (10:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Dec 2018 09:14:06 +0000 (10:14 +0100)
The QMU checksum calculation is redundant, mostly used by debug,
so remove it here.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/mtu3/mtu3_core.c
drivers/usb/mtu3/mtu3_qmu.c

index ae70b9b..3dce5fd 100644 (file)
@@ -592,8 +592,6 @@ static void mtu3_regs_init(struct mtu3 *mtu)
        mtu3_clrbits(mbase, U3D_LINK_RESET_INFO, WTCHRP_MSK);
        /* U2/U3 detected by HW */
        mtu3_writel(mbase, U3D_DEVICE_CONF, 0);
-       /* enable QMU 16B checksum */
-       mtu3_setbits(mbase, U3D_QCR0, QMU_CS16B_EN);
        /* vbus detected by HW */
        mtu3_clrbits(mbase, U3D_MISC_CTRL, VBUS_FRC_EN | VBUS_ON);
 }
index ff62ba2..73ac042 100644 (file)
@@ -154,27 +154,6 @@ void mtu3_gpd_ring_free(struct mtu3_ep *mep)
        memset(ring, 0, sizeof(*ring));
 }
 
-/*
- * calculate check sum of a gpd or bd
- * add "noinline" and "mb" to prevent wrong calculation
- */
-static noinline u8 qmu_calc_checksum(u8 *data)
-{
-       u8 chksum = 0;
-       int i;
-
-       data[1] = 0x0;  /* set checksum to 0 */
-
-       mb();   /* ensure the gpd/bd is really up-to-date */
-       for (i = 0; i < QMU_CHECKSUM_LEN; i++)
-               chksum += data[i];
-
-       /* Default: HWO=1, @flag[bit0] */
-       chksum += 1;
-
-       return 0xFF - chksum;
-}
-
 void mtu3_qmu_resume(struct mtu3_ep *mep)
 {
        struct mtu3 *mtu = mep->mtu;
@@ -260,7 +239,6 @@ static int mtu3_prepare_tx_gpd(struct mtu3_ep *mep, struct mtu3_request *mreq)
        if (req->zero)
                gpd->ext_flag |= GPD_EXT_FLAG_ZLP;
 
-       gpd->chksum = qmu_calc_checksum((u8 *)gpd);
        gpd->flag |= GPD_FLAGS_HWO;
 
        mreq->gpd = gpd;
@@ -295,7 +273,6 @@ static int mtu3_prepare_rx_gpd(struct mtu3_ep *mep, struct mtu3_request *mreq)
        gpd->next_gpd = cpu_to_le32(lower_32_bits(enq_dma));
        ext_addr |= GPD_EXT_NGP(upper_32_bits(enq_dma));
        gpd->rx_ext_addr = cpu_to_le16(ext_addr);
-       gpd->chksum = qmu_calc_checksum((u8 *)gpd);
        gpd->flag |= GPD_FLAGS_HWO;
 
        mreq->gpd = gpd;
@@ -323,7 +300,6 @@ int mtu3_qmu_start(struct mtu3_ep *mep)
                /* set QMU start address */
                write_txq_start_addr(mbase, epnum, ring->dma);
                mtu3_setbits(mbase, MU3D_EP_TXCR0(epnum), TX_DMAREQEN);
-               mtu3_setbits(mbase, U3D_QCR0, QMU_TX_CS_EN(epnum));
                /* send zero length packet according to ZLP flag in GPD */
                mtu3_setbits(mbase, U3D_QCR1, QMU_TX_ZLP(epnum));
                mtu3_writel(mbase, U3D_TQERRIESR0,
@@ -338,7 +314,6 @@ int mtu3_qmu_start(struct mtu3_ep *mep)
        } else {
                write_rxq_start_addr(mbase, epnum, ring->dma);
                mtu3_setbits(mbase, MU3D_EP_RXCR0(epnum), RX_DMAREQEN);
-               mtu3_setbits(mbase, U3D_QCR0, QMU_RX_CS_EN(epnum));
                /* don't expect ZLP */
                mtu3_clrbits(mbase, U3D_QCR3, QMU_RX_ZLP(epnum));
                /* move to next GPD when receive ZLP */
@@ -441,7 +416,6 @@ static void qmu_tx_zlp_error_handler(struct mtu3 *mtu, u8 epnum)
 
        /* by pass the current GDP */
        gpd_current->flag |= GPD_FLAGS_BPS;
-       gpd_current->chksum = qmu_calc_checksum((u8 *)gpd_current);
        gpd_current->flag |= GPD_FLAGS_HWO;
 
        /*enable DMAREQEN, switch back to QMU mode */