Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52594a82 authored by Mayank Rana's avatar Mayank Rana
Browse files

usb: Use IPA of data fifo with DBM



DBM register is need to program with data fifo address, as DBM is
interface to access data fifo by USB controller. Hence use IPA
address from USB function driver. IPA and physical address are same
for no smmu case with USB.

Change-Id: I93f7735e9aa4533b93853f496ec63213720ea90a
Signed-off-by: default avatarMayank Rana <mrana@codeaurora.org>
parent e33b7227
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -450,7 +450,7 @@ int dbm_event_buffer_config(struct dbm *dbm, u32 addr_lo, u32 addr_hi, int size)
}


int dbm_data_fifo_config(struct dbm *dbm, u8 dep_num, phys_addr_t addr,
int dbm_data_fifo_config(struct dbm *dbm, u8 dep_num, unsigned long addr,
				u32 size, u8 dst_pipe_idx)
{
	u8 dbm_ep = dst_pipe_idx;
+2 −2
Original line number Diff line number Diff line
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2015, 2017 The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -63,7 +63,7 @@ int dbm_ep_unconfig(struct dbm *dbm, u8 usb_ep);
int dbm_get_num_of_eps_configured(struct dbm *dbm);
int dbm_event_buffer_config(struct dbm *dbm, u32 addr_lo, u32 addr_hi,
				int size);
int dbm_data_fifo_config(struct dbm *dbm, u8 dep_num, phys_addr_t addr,
int dbm_data_fifo_config(struct dbm *dbm, u8 dep_num, unsigned long addr,
				u32 size, u8 dst_pipe_idx);
void dbm_set_speed(struct dbm *dbm, bool speed);
void dbm_enable(struct dbm *dbm);
+1 −1
Original line number Diff line number Diff line
@@ -457,7 +457,7 @@ static inline bool dwc3_msm_is_superspeed(struct dwc3_msm *mdwc)
 * @size - size of data fifo.
 *
 */
int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr,
int msm_data_fifo_config(struct usb_ep *ep, unsigned long addr,
			 u32 size, u8 dst_pipe_idx)
{
	struct dwc3_ep *dep = to_dwc3_ep(ep);
+3 −3
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ int set_qdss_data_connection(struct f_qdss *qdss, int enable)

		alloc_sps_req(qdss->port.data);
		msm_data_fifo_config(qdss->port.data,
					bam_info.data_fifo->phys_base,
			bam_info.data_fifo->iova,
			bam_info.data_fifo->size,
			bam_info.usb_bam_pipe_idx);
		init_data(qdss->port.data);
+2 −2
Original line number Diff line number Diff line
@@ -1121,12 +1121,12 @@ extern struct usb_ep *usb_ep_autoconfig_by_name(struct usb_gadget *gadget,
int msm_ep_config(struct usb_ep *ep);
int msm_ep_unconfig(struct usb_ep *ep);
void dwc3_tx_fifo_resize_request(struct usb_ep *ep, bool qdss_enable);
int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr, u32 size,
int msm_data_fifo_config(struct usb_ep *ep, unsigned long addr, u32 size,
	u8 dst_pipe_idx);
bool msm_dwc3_reset_ep_after_lpm(struct usb_gadget *gadget);
int msm_dwc3_reset_dbm_ep(struct usb_ep *ep);
#else
static inline int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr,
static inline int msm_data_fifo_config(struct usb_ep *ep, unsigned long addr,
	u32 size, u8 dst_pipe_idx)
{	return -ENODEV; }