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

Commit 1cd5a8a1 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: bam: Return usb_pipe_mem_type from get_bam2bam_connection_info()"

parents ab3633a2 8c9c7eb1
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -459,7 +459,8 @@ static void tmc_etr_fill_usb_bam_data(struct tmc_drvdata *drvdata)
				    &bamdata->dest_pipe_idx,
				    &bamdata->dest_pipe_idx,
				    &bamdata->src_pipe_idx,
				    &bamdata->src_pipe_idx,
				    &bamdata->desc_fifo,
				    &bamdata->desc_fifo,
				    &bamdata->data_fifo);
				    &bamdata->data_fifo,
				    NULL);
}
}


static void __tmc_etr_enable_to_bam(struct tmc_drvdata *drvdata)
static void __tmc_etr_enable_to_bam(struct tmc_drvdata *drvdata)
+5 −1
Original line number Original line Diff line number Diff line
@@ -3364,7 +3364,8 @@ void usb_bam_set_qdss_core(const char *qdss_core)


int get_bam2bam_connection_info(u8 idx, unsigned long *usb_bam_handle,
int get_bam2bam_connection_info(u8 idx, unsigned long *usb_bam_handle,
	u32 *usb_bam_pipe_idx, u32 *peer_pipe_idx,
	u32 *usb_bam_pipe_idx, u32 *peer_pipe_idx,
	struct sps_mem_buffer *desc_fifo, struct sps_mem_buffer *data_fifo)
	struct sps_mem_buffer *desc_fifo, struct sps_mem_buffer *data_fifo,
	enum usb_pipe_mem_type *mem_type)
{
{
	struct usb_bam_pipe_connect *pipe_connect = &usb_bam_connections[idx];
	struct usb_bam_pipe_connect *pipe_connect = &usb_bam_connections[idx];
	enum usb_bam_pipe_dir dir = pipe_connect->dir;
	enum usb_bam_pipe_dir dir = pipe_connect->dir;
@@ -3386,6 +3387,9 @@ int get_bam2bam_connection_info(u8 idx, unsigned long *usb_bam_handle,
	if (desc_fifo)
	if (desc_fifo)
		memcpy(desc_fifo, &pipe_connect->desc_mem_buf,
		memcpy(desc_fifo, &pipe_connect->desc_mem_buf,
		sizeof(struct sps_mem_buffer));
		sizeof(struct sps_mem_buffer));
	if (mem_type)
		*mem_type = pipe_connect->mem_type;

	return 0;
	return 0;
}
}
EXPORT_SYMBOL(get_bam2bam_connection_info);
EXPORT_SYMBOL(get_bam2bam_connection_info);
+1 −1
Original line number Original line Diff line number Diff line
@@ -874,7 +874,7 @@ static void configure_data_fifo(u8 idx, struct usb_ep *ep,
				&bam_info.usb_bam_handle,
				&bam_info.usb_bam_handle,
				&bam_info.usb_bam_pipe_idx,
				&bam_info.usb_bam_pipe_idx,
				&bam_info.peer_pipe_idx,
				&bam_info.peer_pipe_idx,
				NULL, &data_fifo);
				NULL, &data_fifo, NULL);


		msm_data_fifo_config(ep,
		msm_data_fifo_config(ep,
				data_fifo.phys_base,
				data_fifo.phys_base,
+1 −1
Original line number Original line Diff line number Diff line
@@ -699,7 +699,7 @@ static void configure_usb_data_fifo(u8 idx, struct usb_ep *ep,
					&bam_info.usb_bam_handle,
					&bam_info.usb_bam_handle,
					&bam_info.usb_bam_pipe_idx,
					&bam_info.usb_bam_pipe_idx,
					&bam_info.peer_pipe_idx,
					&bam_info.peer_pipe_idx,
					NULL, &data_fifo);
					NULL, &data_fifo, NULL);


		msm_data_fifo_config(ep,
		msm_data_fifo_config(ep,
					data_fifo.phys_base,
					data_fifo.phys_base,
+5 −2
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ struct usb_qdss_bam_connect_info {
	u32 peer_pipe_idx;
	u32 peer_pipe_idx;
	unsigned long usb_bam_handle;
	unsigned long usb_bam_handle;
	struct sps_mem_buffer *data_fifo;
	struct sps_mem_buffer *data_fifo;
	enum usb_pipe_mem_type mem_type;
};
};


static struct usb_qdss_bam_connect_info bam_info;
static struct usb_qdss_bam_connect_info bam_info;
@@ -43,8 +44,10 @@ int send_sps_req(struct usb_ep *data_ep)


	if (gadget_is_dwc3(gadget)) {
	if (gadget_is_dwc3(gadget)) {
		req->length = 32*1024;
		req->length = 32*1024;
		sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | MSM_INTERNAL_MEM |
		sps_params = MSM_SPS_MODE | MSM_DISABLE_WB |
			bam_info.usb_bam_pipe_idx;
			bam_info.usb_bam_pipe_idx;
		if (bam_info.mem_type == USB_PRIVATE_MEM)
			sps_params |= MSM_INTERNAL_MEM;
	} else {
	} else {
		/* non DWC3 BAM requires req->length to be 0 */
		/* non DWC3 BAM requires req->length to be 0 */
		req->length = 0;
		req->length = 0;
@@ -88,7 +91,7 @@ static int set_qdss_data_connection(struct usb_gadget *gadget,
		get_bam2bam_connection_info(idx,
		get_bam2bam_connection_info(idx,
			&bam_info.usb_bam_handle,
			&bam_info.usb_bam_handle,
			&bam_info.usb_bam_pipe_idx, &bam_info.peer_pipe_idx,
			&bam_info.usb_bam_pipe_idx, &bam_info.peer_pipe_idx,
			NULL, bam_info.data_fifo);
			NULL, bam_info.data_fifo, &bam_info.mem_type);


		if (gadget_is_dwc3(gadget))
		if (gadget_is_dwc3(gadget))
			msm_data_fifo_config(data_ep,
			msm_data_fifo_config(data_ep,
Loading