mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 20:33:58 -04:00
Merge "dwc3-msm: Map IPA GSI channel doorbell register for different UDC core"
This commit is contained in:
commit
a859fa7618
2 changed files with 13 additions and 0 deletions
|
|
@ -1264,11 +1264,20 @@ static void gsi_store_ringbase_dbl_info(struct usb_ep *ep,
|
|||
lower_32_bits(dwc3_trb_dma_offset(dep, &dep->trb_pool[0])),
|
||||
upper_32_bits(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");
|
||||
|
|
|
|||
|
|
@ -68,6 +68,9 @@ enum gsi_ep_op {
|
|||
* @mapped_db_reg_phs_addr_lsb: doorbell LSB IOVA address mapped with IOMMU
|
||||
* @db_reg_phs_addr_msb: IPA channel doorbell register's physical address MSB
|
||||
* @ep_intr_num: Interrupter number for EP.
|
||||
* @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;
|
||||
|
|
@ -80,6 +83,7 @@ struct usb_gsi_request {
|
|||
u8 ep_intr_num;
|
||||
struct sg_table sgt_trb_xfer_ring;
|
||||
struct sg_table sgt_data_buff;
|
||||
struct device *dev;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue