Loading drivers/usb/gadget/function/f_gsi.c +9 −0 Original line number Diff line number Diff line Loading @@ -3010,6 +3010,15 @@ static void gsi_get_ether_addr(const char *str, u8 *dev_addr) random_ether_addr(dev_addr); } void rmnet_gsi_update_in_buffer_mem_type(struct usb_function *f, bool use_tcm) { struct f_gsi *gsi = func_to_gsi(f); if (gsi && gsi->prot_id == IPA_USB_RMNET) gsi->rmnet_use_tcm_mem = use_tcm; } EXPORT_SYMBOL(rmnet_gsi_update_in_buffer_mem_type); static int gsi_bind(struct usb_configuration *c, struct usb_function *f) { struct usb_composite_dev *cdev = c->cdev; Loading drivers/usb/gadget/legacy/qti_gadget.c +11 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include <linux/platform_device.h> #include <linux/of.h> #include <linux/kernel.h> #include <linux/usb/dwc3-msm.h> struct qti_usb_function { struct usb_function_instance *fi; Loading Loading @@ -322,6 +323,16 @@ static int qti_usb_func_alloc(struct qti_usb_config *qcfg, memcpy(cdev->qw_sign, qw_sign, QW_SIGN_LEN); } #if IS_ENABLED(CONFIG_USB_F_GSI) struct qti_usb_gadget *qg; if (!strcmp(instance_name, "rmnet")) { qg = container_of(cdev, struct qti_usb_gadget, cdev); rmnet_gsi_update_in_buffer_mem_type(f, of_property_read_bool(qg->cfg_node, "qcom,rmnet_in_use_tcm_mem")); } #endif return 0; } Loading include/linux/usb/dwc3-msm.h +8 −0 Original line number Diff line number Diff line Loading @@ -164,4 +164,12 @@ static bool __maybe_unused usb_get_remote_wakeup_status(struct usb_gadget *gadge { return false; } #endif #if IS_ENABLED(CONFIG_USB_F_GSI) void rmnet_gsi_update_in_buffer_mem_type(struct usb_function *f, bool use_tcm); #else static inline __maybe_unused void rmnet_gsi_update_in_buffer_mem_type( struct usb_function *f, bool use_tcm) { } #endif #endif /* __LINUX_USB_DWC3_MSM_H */ Loading
drivers/usb/gadget/function/f_gsi.c +9 −0 Original line number Diff line number Diff line Loading @@ -3010,6 +3010,15 @@ static void gsi_get_ether_addr(const char *str, u8 *dev_addr) random_ether_addr(dev_addr); } void rmnet_gsi_update_in_buffer_mem_type(struct usb_function *f, bool use_tcm) { struct f_gsi *gsi = func_to_gsi(f); if (gsi && gsi->prot_id == IPA_USB_RMNET) gsi->rmnet_use_tcm_mem = use_tcm; } EXPORT_SYMBOL(rmnet_gsi_update_in_buffer_mem_type); static int gsi_bind(struct usb_configuration *c, struct usb_function *f) { struct usb_composite_dev *cdev = c->cdev; Loading
drivers/usb/gadget/legacy/qti_gadget.c +11 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include <linux/platform_device.h> #include <linux/of.h> #include <linux/kernel.h> #include <linux/usb/dwc3-msm.h> struct qti_usb_function { struct usb_function_instance *fi; Loading Loading @@ -322,6 +323,16 @@ static int qti_usb_func_alloc(struct qti_usb_config *qcfg, memcpy(cdev->qw_sign, qw_sign, QW_SIGN_LEN); } #if IS_ENABLED(CONFIG_USB_F_GSI) struct qti_usb_gadget *qg; if (!strcmp(instance_name, "rmnet")) { qg = container_of(cdev, struct qti_usb_gadget, cdev); rmnet_gsi_update_in_buffer_mem_type(f, of_property_read_bool(qg->cfg_node, "qcom,rmnet_in_use_tcm_mem")); } #endif return 0; } Loading
include/linux/usb/dwc3-msm.h +8 −0 Original line number Diff line number Diff line Loading @@ -164,4 +164,12 @@ static bool __maybe_unused usb_get_remote_wakeup_status(struct usb_gadget *gadge { return false; } #endif #if IS_ENABLED(CONFIG_USB_F_GSI) void rmnet_gsi_update_in_buffer_mem_type(struct usb_function *f, bool use_tcm); #else static inline __maybe_unused void rmnet_gsi_update_in_buffer_mem_type( struct usb_function *f, bool use_tcm) { } #endif #endif /* __LINUX_USB_DWC3_MSM_H */