Loading drivers/usb/dwc3/dwc3-msm.c +9 −0 Original line number Diff line number Diff line Loading @@ -976,11 +976,20 @@ static void gsi_store_ringbase_dbl_info(struct usb_ep *ep, GSI_RING_BASE_ADDR_L(mdwc->gsi_reg[RING_BASE_ADDR_L], (n)), dwc3_trb_dma_offset(dep, &dep->trb_pool[0])); if (request->mapped_db_reg_phs_addr_lsb && dwc->sysdev != request->dev) { dma_unmap_resource(request->dev, request->mapped_db_reg_phs_addr_lsb, PAGE_SIZE, DMA_BIDIRECTIONAL, 0); request->mapped_db_reg_phs_addr_lsb = 0; } if (!request->mapped_db_reg_phs_addr_lsb) { request->mapped_db_reg_phs_addr_lsb = dma_map_resource(dwc->sysdev, (phys_addr_t)request->db_reg_phs_addr_lsb, PAGE_SIZE, DMA_BIDIRECTIONAL, 0); request->dev = dwc->sysdev; if (dma_mapping_error(dwc->sysdev, request->mapped_db_reg_phs_addr_lsb)) dev_err(mdwc->dev, "mapping error for db_reg_phs_addr_lsb\n"); Loading include/linux/usb/gadget.h +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ enum gsi_ep_op { * @db_reg_phs_addr_msb: IPA channel doorbell register's physical address MSB * @sgt_trb_xfer_ring: USB TRB ring related sgtable entries * @sgt_data_buff: Data buffer related sgtable entries * @dev: pointer to the DMA-capable dwc device */ struct usb_gsi_request { void *buf_base_addr; Loading @@ -96,6 +97,7 @@ struct usb_gsi_request { u32 db_reg_phs_addr_msb; struct sg_table sgt_trb_xfer_ring; struct sg_table sgt_data_buff; struct device *dev; }; /* Loading Loading
drivers/usb/dwc3/dwc3-msm.c +9 −0 Original line number Diff line number Diff line Loading @@ -976,11 +976,20 @@ static void gsi_store_ringbase_dbl_info(struct usb_ep *ep, GSI_RING_BASE_ADDR_L(mdwc->gsi_reg[RING_BASE_ADDR_L], (n)), dwc3_trb_dma_offset(dep, &dep->trb_pool[0])); if (request->mapped_db_reg_phs_addr_lsb && dwc->sysdev != request->dev) { dma_unmap_resource(request->dev, request->mapped_db_reg_phs_addr_lsb, PAGE_SIZE, DMA_BIDIRECTIONAL, 0); request->mapped_db_reg_phs_addr_lsb = 0; } if (!request->mapped_db_reg_phs_addr_lsb) { request->mapped_db_reg_phs_addr_lsb = dma_map_resource(dwc->sysdev, (phys_addr_t)request->db_reg_phs_addr_lsb, PAGE_SIZE, DMA_BIDIRECTIONAL, 0); request->dev = dwc->sysdev; if (dma_mapping_error(dwc->sysdev, request->mapped_db_reg_phs_addr_lsb)) dev_err(mdwc->dev, "mapping error for db_reg_phs_addr_lsb\n"); Loading
include/linux/usb/gadget.h +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ enum gsi_ep_op { * @db_reg_phs_addr_msb: IPA channel doorbell register's physical address MSB * @sgt_trb_xfer_ring: USB TRB ring related sgtable entries * @sgt_data_buff: Data buffer related sgtable entries * @dev: pointer to the DMA-capable dwc device */ struct usb_gsi_request { void *buf_base_addr; Loading @@ -96,6 +97,7 @@ struct usb_gsi_request { u32 db_reg_phs_addr_msb; struct sg_table sgt_trb_xfer_ring; struct sg_table sgt_data_buff; struct device *dev; }; /* Loading