linux_dsm_epyc7002/drivers/usb/gadget
Lukasz Majewski 5ad1d31609 usb: hsotg: samsung: smp Provide *_lock functions abstraction layer for SMP SoCs
For SMP processors the spin_lock_irqsave is _only_ able to disable interrupt
on a core on which it is executed.

Therefore there may be a situation when other cores raise s3c-hsotg IRQ.
Then there are several places where critical sections can be overwritten.

To protect the above thread, a spin_lock in the interrupt handler has been
added. Due to coherent memory view (especially L1 cache) the spin lock
variable control access to IRQ handler only for one CPU core. In this way
serialization to access this driver is provided and hence several spin_lock_*
routines could be removed from IRQ handler's related functions.

The complete_request_lock function has been removed since all its calls
are performed from interrupt (spin lock protected) context.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2012-06-15 14:38:07 +03:00
..
acm_ms.c usb: gadget: add new usb gadget for ACM and mass storage 2011-10-13 20:46:27 +03:00
amd5536udc.c usb: gadget: Update amd5536udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:52 +03:00
amd5536udc.h usb: gadget: Update amd5536udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:52 +03:00
at91_udc.c usb: gadget: at91_udc: fix endpoint descriptor dereference 2012-05-16 05:29:20 -07:00
at91_udc.h usb: gadget: Update at91_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:53 +03:00
atmel_usba_udc.c usb: gadget: atmel_usba_udc: convert to newstyle start/stop interface 2012-05-04 15:53:01 +03:00
atmel_usba_udc.h usb: gadget: Update atmel_usba_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:53 +03:00
audio.c usb: gadget: Add Audio Class 2.0 Driver 2012-02-15 10:10:31 +02:00
cdc2.c usb: Add module.h to drivers/usb consumers who really use it. 2011-10-31 19:31:25 -04:00
composite.c usb: gadget: composite: fix ep->maxburst initialization 2012-06-12 13:30:25 +03:00
config.c usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
dbgp.c usb: gadget: rename usb_gadget_driver::speed to max_speed 2011-12-12 11:45:12 +02:00
dummy_hcd.c usb: gadget: dummy_hcd: fix build when BUG is not set 2012-05-11 15:17:31 -07:00
epautoconf.c This merge is rather big. Here's what it contains: 2012-03-01 09:20:28 -08:00
ether.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
f_acm.c usb: gadget: add usb3.0 descriptors to serial gadgets 2012-02-09 10:11:36 +02:00
f_ecm.c usb: gadget: Add Interface Association Descriptor to ECM 2012-01-30 11:17:26 +02:00
f_eem.c usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
f_fs.c usb: gadget: ffs: add HID descriptor support. 2012-06-04 18:11:59 +03:00
f_hid.c usb: gadget: hidg: register OUT INT endpoint for SET_REPORT 2012-06-15 14:34:53 +03:00
f_loopback.c usb: gadget: add isochronous support to gadget zero 2012-05-04 15:53:08 +03:00
f_mass_storage.c usb: gadget: mass_storage: add documentation 2012-06-15 14:32:30 +03:00
f_midi.c Allocate correct size (portably) in drivers/usb/gadget/f_midi.c::f_midi_bind() 2012-03-02 16:22:11 -08:00
f_ncm.c usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
f_obex.c usb: Add module.h to drivers/usb consumers who really use it. 2011-10-31 19:31:25 -04:00
f_phonet.c f_phonet: fix skb truesize underestimation 2012-03-27 22:50:54 -04:00
f_rndis.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
f_serial.c usb: gadget: add usb3.0 descriptors to serial gadgets 2012-02-09 10:11:36 +02:00
f_sourcesink.c usb: gadget: add isochronous support to gadget zero 2012-05-04 15:53:08 +03:00
f_subset.c usb gadget: fix a section mismatch when compiling g_ffs with CONFIG_USB_FUNCTIONFS_ETH 2012-03-13 14:29:33 -07:00
f_uac1.c usb: gadget: audio: Move string IDs to audio.c 2012-02-15 10:10:25 +02:00
f_uac2.c usb: gadget: Add Audio Class 2.0 Driver 2012-02-15 10:10:31 +02:00
f_uvc.c usb: gadget: uvc: Add super-speed support to UVC webcam gadget 2012-06-04 18:12:36 +03:00
f_uvc.h usb: gadget: uvc: Add super-speed support to UVC webcam gadget 2012-06-04 18:12:36 +03:00
file_storage.c USB: gadget: storage gadgets send wrong error code for unknown commands 2012-04-12 16:20:10 +03:00
fsl_mxc_udc.c usb: fsl_mxc_udc.c : Use clk_prepare_enable/clk_disable_unprepare 2012-06-12 13:30:48 +03:00
fsl_qe_udc.c usb: gadget: fsl_qe_udc: remove not implemented callbacks 2012-05-04 15:53:02 +03:00
fsl_qe_udc.h usb: gadget: Update fsl_qe_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:54 +03:00
fsl_udc_core.c usb: gadget: patches for v3.5 2012-05-07 09:49:32 -07:00
fsl_usb2_udc.h usb: gadget: patches for v3.5 2012-05-07 09:49:32 -07:00
fusb300_udc.c usb: gadget: Update fusb300_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:55 +03:00
fusb300_udc.h usb: gadget: Update fusb300_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:55 +03:00
g_ffs.c FunctionFS: enable multiple functions 2012-05-14 09:25:44 -07:00
g_zero.h usb: gadget: add isochronous support to gadget zero 2012-05-04 15:53:08 +03:00
gadget_chips.h USB: gadget driver for LPC32xx 2012-05-01 13:34:55 -04:00
gmidi.c usb: Add module.h to drivers/usb consumers who really use it. 2011-10-31 19:31:25 -04:00
goku_udc.c usb: gadget: Update goku_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:55 +03:00
goku_udc.h usb: gadget: Update goku_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:55 +03:00
hid.c USB: gadget: Make g_hid device class conform to spec. 2012-03-08 13:11:34 -08:00
imx_udc.c usb: imx_udc.c: Use clk_prepare_enable/clk_disable_unprepare 2012-06-12 13:30:59 +03:00
imx_udc.h usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
inode.c USB: remove compile warning on gadget/inode.c 2012-04-06 13:54:01 -07:00
Kconfig USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
lpc32xx_udc.c USB: gadget driver for LPC32xx 2012-05-01 13:34:55 -04:00
m66592-udc.c usb: gadget: Update m66592-udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:56 +03:00
m66592-udc.h usb: gadget: Update m66592-udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:56 +03:00
Makefile USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
mass_storage.c usb: gadget: update Michal Nazarewicz's email address 2012-01-24 11:45:11 +02:00
multi.c usb: gadget: update Michal Nazarewicz's email address 2012-01-24 11:45:11 +02:00
mv_udc_core.c usb: gadget: Update mv_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:57 +03:00
mv_udc.h usb: gadget: Update mv_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:57 +03:00
ncm.c usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
ndis.h usb/net: rndis: break out <linux/rndis.h> defines 2012-05-12 15:02:22 -04:00
net2272.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
net2272.h USB: net2272: driver for PLX NET2272 USB device controller 2011-06-06 16:47:27 -07:00
net2280.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
net2280.h usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
nokia.c usb: gadget: add max_speed to usb_composite_driver 2011-07-01 14:27:05 -07:00
omap_udc.c usb: gadget: omap_udc: use generic map/unmap routines 2012-06-03 23:11:35 +03:00
omap_udc.h usb: gadget: Update omap_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:57 +03:00
pch_udc.c usb: gadget: pch_udc: Fix likely misuse of | for & 2012-06-04 18:12:06 +03:00
printer.c usb: gadget: make g_printer use composite 2012-05-04 15:53:04 +03:00
pxa25x_udc.c usb: gadget: Update pxa25x_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:58 +03:00
pxa25x_udc.h usb: gadget: Update pxa25x_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:58 +03:00
pxa27x_udc.c usb: otg: Convert all users to pass struct usb_otg for OTG functions 2012-02-27 15:41:52 +02:00
pxa27x_udc.h usb: otg: Rename otg_transceiver to usb_phy 2012-02-13 13:34:36 +02:00
r8a66597-udc.c usb: gadget: r8a66597-udc: add support for set_selfpowered 2012-05-04 15:53:07 +03:00
r8a66597-udc.h usb: gadget: r8a66597-udc: add support for set_selfpowered 2012-05-04 15:53:07 +03:00
rndis.c usb/net: rndis: fixup a few name prefixes 2012-05-12 15:13:39 -04:00
rndis.h usb/net: rndis: break out <linux/rndis.h> defines 2012-05-12 15:02:22 -04:00
s3c2410_udc.c usb: gadget: Update s3c2410_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:59 +03:00
s3c2410_udc.h usb: gadget: Update s3c2410_udc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:52:59 +03:00
s3c-hsotg.c usb: hsotg: samsung: smp Provide *_lock functions abstraction layer for SMP SoCs 2012-06-15 14:38:07 +03:00
s3c-hsotg.h usb:hsotg:samsung: Remove the S3C_ prefix from registers definition. 2012-05-04 15:53:17 +03:00
s3c-hsudc.c usb: gadget: Update s3c-hsudc to use usb_endpoint_descriptor inside the struct usb_ep 2012-05-04 15:53:00 +03:00
serial.c usb: gadget: add usb3.0 descriptors to serial gadgets 2012-02-09 10:11:36 +02:00
storage_common.c This merge is rather big. Here's what it contains: 2012-03-01 09:20:28 -08:00
tcm_usb_gadget.c usb-gadget: Initial merge of target module for UASP + BOT 2012-05-09 15:25:59 -07:00
tcm_usb_gadget.h usb-gadget: Initial merge of target module for UASP + BOT 2012-05-09 15:25:59 -07:00
u_ether.c usb: gadget: Add variant of gether_setup to customize the device name 2012-05-10 12:26:17 -07:00
u_ether.h usb: gadget: f_rndis: Set rndis vendor parameters 2012-05-10 12:27:58 -07:00
u_phonet.h Phonet: USB CDC Phonet function for gadget framework 2008-12-17 15:49:09 -08:00
u_serial.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-05-22 19:22:50 -07:00
u_serial.h usb: gadget: add usb_endpoint_descriptor to struct usb_ep 2011-06-28 11:14:36 -07:00
u_uac1.c usb: gadget: Rename audio function to uac1 2012-02-15 10:09:48 +02:00
u_uac1.h usb: gadget: Rename audio function to uac1 2012-02-15 10:09:48 +02:00
udc-core.c usb: gadget: udc-core: fix incompatibility with dummy-hcd 2012-04-27 11:06:15 +03:00
usbstring.c USB: remove homegrown UTF conversion routine for gadgets 2011-11-18 10:51:01 -08:00
uvc_queue.c [media] usb: gadget/uvc: Remove non-required locking from 'uvc_queue_next_buffer' routine 2012-04-10 15:46:02 -03:00
uvc_queue.h V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_v4l2.c Merge remote-tracking branch 'linus/master' into staging/for_v3.5 2012-05-15 08:39:25 -03:00
uvc_video.c usb gadget: clean up FSF boilerplate text 2011-09-09 16:00:09 -07:00
uvc.h usb: gadget: uvc: Add super-speed support to UVC webcam gadget 2012-06-04 18:12:36 +03:00
webcam.c usb: gadget: uvc: Add super-speed support to UVC webcam gadget 2012-06-04 18:12:36 +03:00
zero.c usb: gadget: add isochronous support to gadget zero 2012-05-04 15:53:08 +03:00