2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-19 11:04:00 +08:00
Commit Graph

77 Commits

Author SHA1 Message Date
Christian Gromm
5e8aa94e97 staging: most: fix pcm_write input/output error
This patch keeps the process from sleeping after the PCM middle layer has
stopped playback by calling the pcm trigger callback. The patch is needed
to prevent aplay from causing a pcm_write Input/Output error.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:53 +02:00
Christian Gromm
aac997dfdd staging: most: add poll syscall to AIM cdev
This patch adds the implementation of the poll syscall to the AIM cdev.
To have the full functionality, a helper function is needed in the
core module to retrieve the instantaneous availability of tx buffers.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:53 +02:00
Christian Gromm
48ab5a339d staging: most: remove audio resolution format check
This patch removes the audio format cross-check, because the definitions
are not compatible.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:52 +02:00
Christian Gromm
35c3372138 staging: most: fix style problems
This patch simply corrects style violations.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:52 +02:00
Christian Gromm
e569da2662 staging: most: move initialization code
This pathch moves the initialization of the PCM middle layer hardware
parameters to function audio_set_hw_params().

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:52 +02:00
Christian Gromm
fb0056a8ae staging: most: rename function
This patch renames the function audio_set_pcm_format(). Since the
function doesn't only set the PCM format anymore and to guard against
misunderstandings, its name needs to be changed.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:52 +02:00
Christian Gromm
31e91e0f40 staging: most: add missing channel initialization
This patch adds missing initialization of channel count for 8-bit mono
audio resolution.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:52 +02:00
Christian Gromm
b981abbb56 staging: most: purge unecessary variable
This patch purges a temp. variable to store the functions return value.
Since the content is never being evaluated, it can safely be removed.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
19a1143fa4 staging: most: squash AIM sound
This patch removes debug messages and prevents the sound AIM from being
noisy in kernel log.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
d801887248 staging: most: make hardware parameters channel exclusive
Since the PCM interface's hardware parameters are channel/substream
exclusive, the struct snd_pcm_hardware needs to be embedded in the
channel structure.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
9801345cd8 staging: most: include vendor in audio card's shortname
This patch adds Microchip as vendor to the audio card's shortname to
be displayed, when playback and capture devices are queried.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
8e4a0ef17f staging: most: add multi channel support to sound AIM
This patch adds 5.1 surround configuration with subbuffer cross-check,
when establishing a link to the core. For the sake of simplicity, only
one specific channel configuration is allowed.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
ccfbaee033 staging: most: refactor channel structure
The struct most_c_obj has the same set of attributes for each of two AIMs.
This patch cleans up the code by introducing the new struct most_c_aim_obj
hat contains those fields.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
71457d4827 staging: most: add fair buffer distribution
This patch ensures a fair distribution of buffers, when two AIMs share a
single channel. The AIMs then won't be able to use more than half of all
pre-allocated buffers of the linked channel. However, in case the channel
is not shared, the AIM can exclusively use all available buffers.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:51 +02:00
Christian Gromm
c81c9c3e0f staging: most: consolidate code
The function drci_rd_reg() always delivers little endian representation of
the 16-bit DCI register. The value returned by this function must always be
carefully converted from __le16 to u16 type. This patch moves all those
conversions to the function itself.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:50 +02:00
Christian Gromm
2637022887 staging: most: prevent DMA on stack
This patch is needed to avoid having DMA on the stack.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:50 +02:00
Christian Gromm
cc8d993513 staging: most: simplify code
This patch simply rearranges code for better readability.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:50 +02:00
Christian Gromm
1ea7e502c4 staging: most: fix MAC address representation
This patch fixes the representation of the MAC address within the HDM USB
module.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:50 +02:00
Christian Gromm
c31d9d12ef staging: most: fix buffer size for DIM2
This patch reduces the DBR buffer size to prevent an overflow in the DIM2
module. It is needed, because the MediaLB hardware has problems with DBR
buffers that exceed the size of 255 messages.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:50 +02:00
Christian Gromm
f1b9a84382 staging: most: remove macro cpu_to_le16
This patch removes the wrongly used macros cpu_to_le16

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:50 +02:00
Christian Gromm
d747e8ec1c staging: most: fix buffer synchronization request
Revision D of OS81118 network interface controller have the internal
buffer synchronization mechanism changed. This patch adapts the driver
to this.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
a2cfae06ac staging: most: remove dead code
The case where the channel type is neither synchronous nor isochronous is
already covered by a previous condition.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
d6f7737d5a staging: most: remove unnecessary field initialization
Since conf->extra_len has already been reset in most_start_channel() when
function hdm_configure_channel() gets called, it can safely be removed
here.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
f13f6981bc staging: most: fix channel operation in multi-aim context
This patch fixes the opening and closing process of a physical channel
when used by different AIMs.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
9161e9311c staging: most: fix USB babble on IN pipe
This patch prevents the HDM USB from submitting an URB with a buffer size
unaligned to 512 bytes to the USB subsystem.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
3032ab931b staging: most: remove shared IRQ request
Since there is no way find out whether the INIC has generated an
interrupt, the I2C interrupt must not be registered as a shared
interrupt.

Reported-by: PrasannaKumar Muralidharan <PrasannaKumar.Muraidharan@microchip.com>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
25ef42f308 staging: most: fix race condition in AIM networking
If the network device is being opened right after it has been registered
via function register_netdev(), the device state is not yet consistent in
the context of function ndo_open(). This patch cares about having the
initialization done right, before the networking device is registered.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
bf358040c4 staging: most: remove aim reset
This patch partly reverts a modification of function most_stop_channel()
that is trying to reset an established link between an AIM and an HDM in
all suitable places. But since the function most_stop_channel() is
stopping the data transfer it is the wrong place to do so.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Christian Gromm
ec5c00afc2 staging: most: change structure initialization
By applying this patch the initialization of the most_aim structure is
performed at compile time.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:18:49 +02:00
Greg Kroah-Hartman
bcabc6f328 Merge 4.3-rc3 into staging-next
We want the staging fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 01:52:40 +02:00
Christian Gromm
981473c74c staging: most: Add dependency to HAS_IOMEM
This patch prevents the module hdm_dim2 from breaking the build in case
HAS_IOMEM is not configured.

Reported-by: <fengguang.wu@intel.com>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-17 06:11:03 -07:00
Shraddha Barke
efc0cfa134 Staging: most: aim-network: Replace pr_info with netdev_info
Use netdev_* family of macros when there is reference to a network
device. dev->name is removed as netdev_info will print the device
name

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-16 21:32:45 -07:00
Geert Uytterhoeven
b786a8ad6a Staging: most: MOST and MOSTCORE should depend on HAS_DMA
If NO_DMA=y:

    ERROR: "dma_free_coherent" [drivers/staging/most/mostcore/mostcore.ko] undefined!
    ERROR: "dma_alloc_coherent" [drivers/staging/most/mostcore/mostcore.ko] undefined!

As all MOST sub drivers use DMA functionality, add a dependency on
HAS_DMA to MOSTCORE, and to MOST, which selects MOSTCORE.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-13 09:24:44 -07:00
Randy Dunlap
4de2ced795 staging: most: fix HDM_USB dependencies and build errors
Fix kconfig dependency warning and build errors.

warning: (HDM_USB) selects AIM_NETWORK which has unmet direct dependencies (STAGING && MOST && NET)

drivers/built-in.o: In function `aim_resume_tx_channel':
networking.c:(.text+0xd6f7a2): undefined reference to `netif_tx_wake_queue'
drivers/built-in.o: In function `aim_rx_data':
networking.c:(.text+0xd6f8c5): undefined reference to `__netdev_alloc_skb'
networking.c:(.text+0xd6f99a): undefined reference to `skb_put'
networking.c:(.text+0xd6fa44): undefined reference to `eth_type_trans'
networking.c:(.text+0xd6fa6f): undefined reference to `netif_rx'
drivers/built-in.o: In function `most_nd_setup':
networking.c:(.text+0xd6fad2): undefined reference to `ether_setup'
drivers/built-in.o: In function `most_nd_set_mac_address':
networking.c:(.text+0xd6fb0f): undefined reference to `eth_mac_addr'
drivers/built-in.o: In function `most_nd_open':
networking.c:(.text+0xd6fd37): undefined reference to `netif_tx_wake_queue'
drivers/built-in.o: In function `aim_probe_channel':
networking.c:(.text+0xd6febb): undefined reference to `alloc_netdev_mqs'
networking.c:(.text+0xd6ff18): undefined reference to `register_netdev'
networking.c:(.text+0xd6ff4a): undefined reference to `free_netdev'
drivers/built-in.o: In function `most_net_rm_netdev_safe.isra.0':
networking.c:(.text+0xd6ffcf): undefined reference to `unregister_netdev'
networking.c:(.text+0xd6ffdf): undefined reference to `free_netdev'
drivers/built-in.o: In function `most_nd_start_xmit':
networking.c:(.text+0xd70390): undefined reference to `kfree_skb'
drivers/built-in.o: In function `most_deliver_netinfo':
(.text+0xd70499): undefined reference to `netif_tx_wake_queue'

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Christian Gromm <christian.gromm@microchip.com>
Cc: Michael Fabry <Michael.Fabry@microchip.com>
Cc: Christian Gromm <chris@engineersdelight.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-13 09:24:44 -07:00
Sudip Mukherjee
ec58d2a872 staging: most: style of bool comparison
BOOLEAN tests do not need any comparison to TRUE or FALSE.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:44 -07:00
Sudip Mukherjee
0834be6c52 staging: most: remove unneeded NULL check
The loop cursor of list_for_each_entry_safe() can never be NULL.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:44 -07:00
Sudip Mukherjee
983e83cc17 staging: most: remove driver owner
The platform driver core will set the owner value, we do not need to do
it in the module.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:44 -07:00
Sudip Mukherjee
9b532df0fc staging: most: return NULL instead of integer
The return type of get_aim_dev() is a pointer but we were returning 0
incase of failure.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:43 -07:00
Sudip Mukherjee
b0183053e3 staging: most: remove always true comparison
channel->dev has already been checked for NULL and if it was NULL then
we have returned with -EPIPE. So at this point it can not be NULL.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:43 -07:00
Ronit Halder
1865e4ea0b Staging: most: Use NULL instead of zero
This patch fixes the warning generated by sparse
"Using plain integer as NULL pointer" by using NULL
instead of zero.

Signed-off-by: Ronit halder <ronit.crj@gmail.com>
Acked-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:32 -07:00
Sudip Mukherjee
858e1a27c1 staging: most: NULL comparison style
checkpatch complains when a variable comparison to NULL is written as:
variable == NULL or variable != NULL.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:32 -07:00
Sudip Mukherjee
a9c2520818 staging: most: fix Makefile
The Makefile is including "drivers/media/video". But there is no such
directory in kernel tree. Since it is aim-v4l2 this might have been
"drivers/media/v4l2-core", but the Kconfig already mentions that it
depends on VIDEO_V4L2. So no need to mention that again in the Makefile.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:32 -07:00
Sudip Mukherjee
9153b5b128 staging: most: remove unused variable
The variable conf was only assigned the value but was never used.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:31 -07:00
Sudip Mukherjee
96d3064b46 staging: most: use NULL pointer
sparse was complaining that an integer is used as NULL pointer. Fix it
by using NULL.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:31 -07:00
Sudip Mukherjee
809da8a5f1 staging: most: make functions static
split_arg_list() and audio_set_pcm_format() are being called from the
same file and is not referenced from outside, so make them as static.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:31 -07:00
Sudip Mukherjee
11f7edb598 staging: most: remove unused functions
These functions were only defined but not used anywhere.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:31 -07:00
Sudip Mukherjee
c704dfbe45 staging: most: out of memory error
If kzalloc fails it will print lots of debugging information in the log,
no need to have another in the code.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:31 -07:00
Sudip Mukherjee
ba857e0ff0 staging: most: remove multiple blank line
Multiple blank lines are not recommended in the kernel coding style.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:30 -07:00
Sudip Mukherjee
51d6859f23 staging: most: bool comparison style
Mentioning true or false in the if comparison is error prone and also
not according to the coding style.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-12 18:24:30 -07:00
Adrian Remonda
5132fcd1fb Staging: most: aim-cdev/cdev.c. Fix "missing static keyword" warnings
This is a patch to the most/aim_cdev.c file. It makes several
local functions and structures static to prevent global visibility.

Signed-off-by: Adrian Remonda <adrianremonda@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-08-14 17:34:52 -07:00