Hari Prasath Gujulan Elango [Wed, 20 Jan 2016 12:52:58 +0000 (12:52 +0000)]
staging: rtl8188eu: use eth_broadcast_addr() in place of memset
Replace the memset of array to broadcast address 0xFF by using the
eth_broadcast_addr() API
Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Geliang Tang [Mon, 1 Feb 2016 14:37:13 +0000 (22:37 +0800)]
staging: rtl8188eu: use list_first_entry_or_null()
Use list_first_entry_or_null() instead of list_empty() + container_of()
to simplify the code.
Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andy Shevchenko [Thu, 10 Dec 2015 15:43:55 +0000 (17:43 +0200)]
staging: rtl8188eu: print OUI with %*ph
There is no need to pass each byte as a parameter when printing values in hex
format. We rather use %*ph specifier for that.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andy Shevchenko [Thu, 10 Dec 2015 15:43:54 +0000 (17:43 +0200)]
staging: rtl8188eu: replace open-coded print_hex_dump()
No need to reinvent a wheel, i.e. print_hex_dump(). Replace an open-coded
variant by generic kernel helper.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andy Shevchenko [Thu, 10 Dec 2015 15:43:53 +0000 (17:43 +0200)]
staging: rtl8188eu: provide an absolute path to include folder
Otherwise compiler will complain as follows
CC [M] drivers/staging/rtl8188eu/core/rtw_ap.o
cc1: warning: drivers/staging/rtl8188eu/include: No such file or directory [-Wmissing-include-dirs]
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chris Elliott [Mon, 7 Dec 2015 22:02:27 +0000 (22:02 +0000)]
Staging: rtl8188eu: core: rtw_debug: fixed a parentheses coding style issue
Removed unnecessary parentheses.
Signed-off-by: Chris Elliott <chris@uksysadmin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexey Tulia [Sat, 21 Nov 2015 10:06:37 +0000 (13:06 +0300)]
staging: rtl8188eu: remove an extra space
drivers/staging/rtl8188eu/core/rtw_wlan_util.c:1377 check_assoc_AP() warn: inconsistent indenting
Signed-off-by: Alexey Tulia <alexey.tulia@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luca Ceresoli [Wed, 2 Dec 2015 21:54:05 +0000 (22:54 +0100)]
staging: rtl8188eu: rtw_mlme_ext.c: simplify call to issue_action_BA()
Using the ternary operator allows to more concisely write the same
code, and to stay within 80 characters without even increasing the
number of lines.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luca Ceresoli [Wed, 2 Dec 2015 21:54:04 +0000 (22:54 +0100)]
staging: rtl8188eu: rename camelcase bAcceptAddbaReq
There is such a field both in struct mlme_ext_info and in struct
registry_priv. Rename both.
Also fix checkpatch issue in the lines touched:
WARNING: line over 80 characters
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luca Ceresoli [Wed, 2 Dec 2015 21:54:03 +0000 (22:54 +0100)]
staging: rtl8188eu: remove useless variable rtw_AcceptAddbaReq
rtw_AcceptAddbaReq is a static variable, it is set once and never
modified. It is referenced only once, to assign its value to a member
of struct registry_priv with practically the same name.
Get rid of the variable, and move the meaningful part of the comment
near the declaration of the relevant field of struct registry_priv.
Raises a new checkpatch issue, which is fixed in a later commit:
CHECK: Avoid CamelCase: <bAcceptAddbaReq>
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luca Ceresoli [Wed, 2 Dec 2015 21:54:02 +0000 (22:54 +0100)]
staging: rtl8188eu: rtw_mlme_ext.c: remove commented code
This line is connented since the initial import in commit
7b464c9fa5cc
("staging: r8188eu: Add files for new driver - part 4") and there's no
comment stating how it could ever be useful.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luca Ceresoli [Wed, 2 Dec 2015 21:54:01 +0000 (22:54 +0100)]
staging: rtl8188eu: don't cast to void* when calling memset()
The first argument to memset() is (void *), the explicit typecasts are
not needed. They just make code less readable.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luca Ceresoli [Wed, 2 Dec 2015 21:54:00 +0000 (22:54 +0100)]
staging: rtl8188eu: add spaces around binary '*'
Fix checkpatch issue:
CHECK: spaces preferred around that '*' (ctx:VxV)
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matej Vasek [Mon, 25 Jan 2016 15:02:33 +0000 (16:02 +0100)]
staging: sm750fb, fix typos
The code contained typos like "structur", "fointers", etc. Fix that.
No code change, only comments.
Signed-off-by: Matej Vasek <xvasek1@fi.muni.cz>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <linux-fbdev@vger.kernel.org>
Cc: <devel@driverdev.osuosl.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bogicevic Sasa [Wed, 25 Nov 2015 21:56:30 +0000 (22:56 +0100)]
drivers:staging:sm750fb Fix all space preferred around messages
This fixes all messages from checkpatch.pl about space preferred
Signed-off-by: Bogicevic Sasa <brutallesale@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Othmar Pasteka [Sun, 8 Nov 2015 10:58:51 +0000 (11:58 +0100)]
staging: sm750fb: fix style for if clause
Fix for checkpatch.pl complaints:
ERROR: that open brace { should be on the previous line
CHECK: spaces preferred around that '+' (ctx:VxV)
Signed-off-by: Othmar Pasteka <pasteka@kabsi.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:31 +0000 (20:04 +0200)]
staging: sm750fb: change definition of POWER_MODE_CTRL multi-bit field
Use more straight-forward definitions for multi-bit field of
POWER_MODE_CTRL register and use open-coded implementation for register
manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:30 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for POWER_MODE_CTRL single-bit fields
Replace complex definition of POWER_MODE_CTRL register fields with BIT()
macro and use open-coded implementation for register manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:29 +0000 (20:04 +0200)]
staging: sm750fb: change definition of MODE0_GATE multi-bit fields
Use more straight-forward definitions for multi-bit fields of MODE0_GATE
register.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:28 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for MODE0_GATE single-bit fields
Replace complex definition of MODE0_GATE register fields with BIT() macro
and use open-coded implementation for register manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:27 +0000 (20:04 +0200)]
staging: sm750fb: change definition of CURRENT_GATE multi-bit fields
Use more straight-forward definitions for multi-bit fields of
CURRENT_GATE register and use open-coded implementation for register
manipulation.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:26 +0000 (20:04 +0200)]
staging: sm750fb: set{Memory, Master}Clock: rename ulReg to reg
Remove HungarianCamelCase notation
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:25 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for CURRENT_GATE single-bit fields
Replace complex definition of CURRENT_GATE register fields with BIT() macro
and use open-coded implementation for register manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:24 +0000 (20:04 +0200)]
staging: sm750fb: change definition of MISC_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit fields of MISC_CTRL
register and use open-coded implementation for register manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:23 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for GPIO_MUX single-bit fields
Replace complex definition of GPIO_MUX register fields with BIT() macro
and use open-coded implementation for register manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:22 +0000 (20:04 +0200)]
staging: sm750fb: ddk750_sii164: fix defines for i2c{Read, Write}reg
For case when USE_HW_I2C is not defined, i2c{Read,Write}reg was wrongly
defined to use old function names.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:21 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for MISC_CTRL single-bit fields
Replace complex definition of MISC_CTRL register fields with BIT() macro
and use open-coded implementation for register manipulations.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:20 +0000 (20:04 +0200)]
staging: sm750fb: ddk750_initHw: rename ulReg to reg
Remove HungarianCamelCase notation
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:19 +0000 (20:04 +0200)]
staging: sm750fb: change definition of SYSTEM_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit fields of
SYSTEM_CTRL register and replace FIELD_GET/SET for these fields with
open-coded implementation.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:18 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for SYSTEM_CTRL single-bit fields
Replace complex definition of SYSTEM_CTRL fields and usage of
FIELD_GET/SET with BIT() macro and open-coded register value modifications
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:17 +0000 (20:04 +0200)]
staging: sm750fb: remove unused DE_STATE2_DE_RESERVED
Definition of reserved fields in a register is not interesting
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:16 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for DE_STATE2 single-bit fields
Replace complex definition of DE_STATE1 fields and usage of FIELD_GET
with BIT() macro and open-coded register value modifications
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:15 +0000 (20:04 +0200)]
staging: sm750fb: use BIT macro for DE_STATE1 single-bit field
Replace complex definition of DE_STATE1 field and usage of FIELD_SET with
BIT() macro and open-coded register value modifications
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 18:04:14 +0000 (20:04 +0200)]
staging: sm750fb: hw_sm750(le)_deWait: rename dwVal to val
Remove HungarianCamelCase notation
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:55 +0000 (19:59 +0200)]
staging: sm750fb: lynxfb_pci_probe: remove some pr_info
Several pr_info statements in lynxfb_pci_probe seem like debug leftovers
and may be removed.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:54 +0000 (19:59 +0200)]
staging: sm750fb: introduce sm750fb_frambuffer_alloc
Split framebuffer allocation and registration into a dedicated function
to simplify lynxfb_pci_probe
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:53 +0000 (19:59 +0200)]
staging: sm750fb: introduce sm750fb_frambuffer_release
Use a function to unregister framebuffer info and release its resources.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:52 +0000 (19:59 +0200)]
staging: sm750fb: replace dual member of sm750_dev with fb_count
Will be used in futher refactoring of driver _probe and _remove methods.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:51 +0000 (19:59 +0200)]
staging: sm750fb: lynxfb_pci_remove: remove unused variable
The par variable in lynxfb_pci_remove is only assigned a value and never
used afterwards. Remove it.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:50 +0000 (19:59 +0200)]
staging: sm750fb: lynxfb_pci_probe: return actual errors
The lynxfb_pci_probe always returned -ENODEV in case of error. Modify it
so that actual error code will be propogated to the caller.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mike Rapoport [Sun, 17 Jan 2016 17:59:49 +0000 (19:59 +0200)]
staging: sm750fb: disable PCI device if lynxfb_pci_probe fails
In case of error during lynxfb_pci_probe, the function returned without
calling pci_disable_device. Fix it by adding pci_disable_device on the
error cleanup path.
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ira Weiny [Tue, 22 Dec 2015 02:57:45 +0000 (21:57 -0500)]
staging/rdma/hfi1: Fix Xmit Wait calculation
Total XMIT wait needs to sum the xmit wait values of all the VLs not just
those requested in the query. Also, make the algorithm used for both
PortStatus and PortDataCounters the same.
Reviewed-by: Arthur Kepner <arthur.kepner@intel.com>
Reviewed-by: Breyer, Scott J <scott.j.breyer@intel.com>
Signed-off-by: Ira Weiny <iweiny@gmail.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Edward Mascarenhas [Tue, 22 Dec 2015 02:57:44 +0000 (21:57 -0500)]
staging/rdma/hfi1: Clean up comments
Clean up comments by deleting numbering and terms internal to Intel.
The information on the actual bugs is not deleted.
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Edward Mascarenhas <edward.mascarenhas@intel.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Julia Lawall [Wed, 23 Dec 2015 20:42:57 +0000 (21:42 +0100)]
staging: rdma: hfi1: diag: constify hfi1_filter_array structure
The hfi1_filter_array structure is never modified, so declare it as const.
Done with the help of Coccinelle.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ira Weiny [Tue, 22 Dec 2015 01:31:52 +0000 (20:31 -0500)]
staging/rdma/hfi1: add dd_dev_dbg
To be used in future patches add dd_dev_dbg. dd_* functions properly decode
the hfi1_devdata structure used throughout the driver
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dean Luick [Tue, 22 Dec 2015 01:31:53 +0000 (20:31 -0500)]
staging/rdma/hfi1: set Gen3 half-swing for integrated devices
Correctly set half-swing for integrated devices. A0 needs all fields set for
CcePcieCtrl. B0 and later only need a few fields set.
Reviewed-by: Stuart Summers <john.s.summers@intel.com>
Signed-off-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Paul Gortmaker [Tue, 17 Nov 2015 00:58:49 +0000 (19:58 -0500)]
staging: drop kbuild workaround dummy module from top dir
This is essentially a revert of
86f69fe9c069dd8608d238581eea259caa1dfc99
("Staging: workaround build system bug"), but to call it a revert would
imply it was wrong -- rather it seems more like it is just no longer
required anymore.
It doesn't list the full details of the failing use case, but the most
obvious would appear to be a "make allnoconfig" that subsequently had set
just CONFIG_STAGING=y in the .config file, to give:
paul@builder:~/git/linux-head$ grep STAGING ../staging-allno/.config
CONFIG_STAGING=y
# CONFIG_STAGING_MEDIA is not set
# CONFIG_STAGING_BOARD is not set
paul@builder:~/git/linux-head$
After building this .config (on ARM, just to be different), we see that
built-in.o is created, and the final vmlinux links OK:
paul@builder:~/git/linux-head$ ls -l ../staging-allno/drivers/staging/built-in.o
-rw-rw-r-- 1 paul paul 257 Nov 16 18:06 ../staging-allno/drivers/staging/built-in.o
paul@builder:~/git/linux-head$ file ../staging-allno/drivers/staging/built-in.o
../staging-allno/drivers/staging/built-in.o: ELF 32-bit LSB relocatable, ARM, version 1, not stripped
paul@builder:~/git/linux-head$ nm ../staging-allno/drivers/staging/built-in.o
nm: ../staging-allno/drivers/staging/built-in.o: no symbols
paul@builder:~/git/linux-head$ ls -l ../staging-allno/vmlinux
-rwxrwxr-x 1 paul paul
1236326 Nov 16 18:07 ../staging-allno/vmlinux
paul@builder:~/git/linux-head$
I also tested an "allmodconfig" and did not see any problems there
either. Switching back to x86-64 and testing several things there didn't
show any issues either. So it appears we do not need to carry the
workaround in tree any longer.
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Pablo G. Gallardo [Thu, 4 Feb 2016 23:43:14 +0000 (21:43 -0200)]
STAGING: COMEDI: Wrap line over 80 characters
This patch wraps lines over 80 characters.
Signed-off-by: Pablo G. Gallardo <pggllrd@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Pablo G. Gallardo [Thu, 4 Feb 2016 23:43:13 +0000 (21:43 -0200)]
STAGING: COMEDI: Remove unnecessary typecast of c90 int constant
This patch removes unnecessary typecast of c90 int constant.
Signed-off-by: Pablo G. Gallardo <pggllrd@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Wed, 27 Jan 2016 21:28:29 +0000 (14:28 -0700)]
staging: comedi: ni_mio_common: add finite regeneration to dio output
This patch continues the implementation of reinterpreting stop_arg when
stop_src == TRIG_NONE for national instruments cdio output on e/m-series
devices. This is part of a series of patches that allow a user to have a
specific buffer repeated as-is indefinitely. The contents of the DMA
buffer can be left static or changed by the user via mmap access to the DMA
buffer. If the contents are changed by the user, additional munging is not
performed by the driver and only a single call to
comedi_mark_buffer_written should be done. The original behavior is
preserved when stop_arg == 0, as would be the prior use case.
As opposed to analog output, this patch is relatively simple. First, the
digital output capabilities are much more limited/simple as compared to the
analog output device on NI e/m-series hardware, and second, this patch
relies on changes made with the earlier patch to accomplish limiting the
DMA buffer transfer.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Wed, 27 Jan 2016 21:28:28 +0000 (14:28 -0700)]
staging: comedi: ni_mio_common: adds finite regeneration to AO output
This patch implements for analog output the reinterpretation of stop_arg
when stop_src == TRIG_NONE to allow the user to specify the length of the
buffer that should be repeated. The intent is to allow a user to have a
specific buffer repeated as-is indefinitely. The contents of the DMA
buffer can be left static or changed by the user via mmap access to the DMA
buffer. If the contents are changed by the user, additional munging is not
performed by the driver and only a single call to
comedi_mark_buffer_written should be done.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Wed, 27 Jan 2016 21:28:27 +0000 (14:28 -0700)]
staging: comedi: ni_mio_common: Cleans up/clarifies ni_ao_cmd
This patch implements ni_ao_cmd much more closely organized like NI MHDDK
examples and DAQ-STC pseudo-code. Adds comments with some more specific
references to the DAQ-STC.
For stop_src==TRIG_NONE (continuous output mode of entire buffer), the
count for the UC counter was corrected to represent the maximum count
possible (0xffffff). Prior behavior for stop_src=TRIG_NONE did not
actually follow the DAQ-STC. Furthermore, stop_src==TRIG_NONE now
correctly uses code specialized for either m-series or e-series devices.
It should be noted that stop_src==TRIG_NONE does _not_ with this patch
(or with prior behavior in ni_mio_common) actually implement true
continuous output. Rather, the output is simply configured to operate as a
single buffer output, but where the buffer is as large as is possible with
NI-STC hardware.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Wed, 27 Jan 2016 21:28:26 +0000 (14:28 -0700)]
staging: comedi: ni_mio_common: make more bits in ao_cmd1 reg be stateful
Bits NISTC_AO_CMD1_DAC0_UPDATE_MODE and NISTC_AO_CMD1_DAC1_UPDATE_MODE are
now saved in the local copy of the AO_CMD1 register. This is more
appropriate than prior methods of setting these bits specifically _both_
in the ni_ao_cmd configuration function _and_ the ni_ao_inttrig trigger
function. With this patch, the bits are only specifically called out now
in the ni_ao_cmd configuration function. In the ni_ao_inttrig trigger
function, only the UI_ARM, UC_ARM, BC_ARM bits of the ao_cmd1 register are
specifically called out. Each of these bits is a strobe bit, while the
DAC[0-1]_UPDATE_MODE bits are simple write bits.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Wed, 27 Jan 2016 21:28:25 +0000 (14:28 -0700)]
staging: comedi: ni_mio_common: Cleans up/clarifies ni_ao_reset
This patch implements ni_ao_reset much more closely organized like NI MHDDK
examples and DAQ-STC pseudo-code. Adds comments with some more specific
references to the DAQ-STC.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Wed, 27 Jan 2016 21:28:24 +0000 (14:28 -0700)]
staging: comedi: mite: enable continuous regeneration of finite samples
This change enables the mite DMA controller to only transfer the amount of
data needed by a command. By default, the old behavior of transferring the
entire comedi DMA data buffer is still in effect. These changes allow a
command to only transmit a limited portion of that data buffer as needed.
This patch begins to reinterprets stop_arg when stop_src == TRIG_NONE to
allow the user to specify the length of the buffer that should be repeated.
The intent is to allow a user to have a specific buffer repeated as-is
indefinitely. The contents of the DMA buffer can be left static or changed
by the user via mmap access to the DMA buffer. If the contents are changed
by the user, additional munging is not performed by the driver and only a
single call to comedi_mark_buffer_written should be done.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Tue, 12 Jan 2016 18:05:10 +0000 (11:05 -0700)]
staging: comedi: ni_mio_common: use CR_CHAN more consistently
Generally, the CR_CHAN macro is/should be used to access the relevant bits
for channel identification in cmd->*_arg when the corresponding
cmd->*_src==TRIG_EXT, including cmd->convert_arg in this case.
This patch does not fix a bug per se, as NISTC_AI_MODE1_CONVERT_SRC() already
masks the value sufficiently, but using CR_CHAN() here makes the code clearer as
it avoids passing some irrelevant bits to NISTC_AI_MODE1_CONVERT_SRC() in the
first place.
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Tue, 12 Jan 2016 17:33:18 +0000 (10:33 -0700)]
staging: comedi: ni_tiocmd: change mistaken use of start_src for start_arg
This fixes a bug in function ni_tio_input_inttrig(). The trigger number
should be compared to cmd->start_arg, not cmd->start_src.
Fixes:
6a760394d7eb ("staging: comedi: ni_tiocmd: clarify the cmd->start_arg validation and use")
Cc: <stable@vger.kernel.org> # 3.17+
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Spencer E. Olson [Tue, 12 Jan 2016 06:29:33 +0000 (23:29 -0700)]
staging: comedi: ni_pcimio: Adds PXI-6251 to supported boards
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bhaktipriya Shridhar [Mon, 11 Jan 2016 16:04:28 +0000 (21:34 +0530)]
staging: comedi: dt2801: Prefer using the BIT macro
As suggested by checkpatch.pl, this patch replaces bit shifting on 1 with the
BIT(x) macro.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Neil Zhang [Tue, 26 Jan 2016 09:39:06 +0000 (17:39 +0800)]
ion:synchronize debugfs callback and ion_client_destroy
There are race condition B/T ion_client_destroy and debugfs callbacks.
Let's use a mutex to synchronize them.
Signed-off-by: Neil Zhang <neilzhang1123@hotmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rohit kumar [Tue, 12 Jan 2016 04:01:46 +0000 (09:31 +0530)]
staging/ion: Add support to get ion handle from dma buf
Currently we can only import dma buf fd's to get ion_handle.
Adding support to import dma buf handles to support kernel
specific use cases.
An example use case is in linux platforms such as Tizen, in which
DRM-GEM is used for buffer management for graphics. It has gem_handle
corresponding to a buffer and uses gem_name for sharing the buffer
with other processes. However,it also uses dma_buf fd for 3d operations.
For wayland, there are multiple calls for gem_handle to dma_buf fd
conversion. So, we store dma_buf associated with buffer. But, there is
no api for getting ion_handle from dma_buf. This patch exposes api to
retrieve the ion handle from dma_buf for similar use cases. With this
patch, we can integrate ION within DRM-GEM for buffer management and
dma_buf sharing.
Signed-off-by: Rohit kumar <rohit.kr@samsung.com>
Reviewed-by: Laura Abbott <labbott@redhat.com>
Reviewed-by: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Wed, 3 Feb 2016 13:25:34 +0000 (11:25 -0200)]
staging/android: remove len field from struct sync_fence_info
After removing driver_data struct sync_fence_info has now a fixed size,
thus it doesn't need any field to tell its size, it is already known.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Wed, 3 Feb 2016 13:25:33 +0000 (11:25 -0200)]
staging/android: remove driver_data from struct sync_fence_info
It is unclear in what situations driver_data should be used thus better do
not upstream it for now. If a need arises in the future a discussion can
be started to re-add it.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Wed, 3 Feb 2016 13:25:32 +0000 (11:25 -0200)]
staging/android: rename sync_file_info_data to sync_file_info
info_data is a bit redundant, let's keep it as only sync_file_info. It is
also smaller.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Wed, 3 Feb 2016 13:25:31 +0000 (11:25 -0200)]
staging/android: rename sync_pt_info to sync_fence_info
As struct sync_pt doesn't exist anymore it is a good idea remove any
reference to it in the sync_framework. sync_pts were replaced directly by
fences and here we rename it to sync_fence_info to let the fence namespace
clean.
v2: rename fence_info to sync_fence_info (Maarten)
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Wed, 3 Feb 2016 13:25:30 +0000 (11:25 -0200)]
staging/android: remove SYNC_WAIT ioctl
This ioctl is replicating the work of poll() syscall so let's take the
opportunity that this is still on staging tree and remove the duplication
and force new users to use the poll() standard interface.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ben Marsh [Mon, 1 Feb 2016 13:12:32 +0000 (14:12 +0100)]
Staging: Android: memory allocation style change in ion_page_pool.c
This is a patch to ion_page_pool.c that changes a memory allocation
style issue as found by checkpatch.pl.
Signed-off-by: Ben Marsh <bmarsh94@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:24 +0000 (10:49 -0200)]
staging/android: remove sync_fence_create_dma()
With the removal of struct sync_pt sync_fence_create_dma() now takes
the same arguments as sync_fence_create() so let's keep only
sync_fence_create().
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:23 +0000 (10:49 -0200)]
staging/android: remove pointless sync_timeline_signal at destroy phase
All changes to timeline value come through the user via
sync_timeline_signal() calls. When sync_timeline_destroy() is called no
changes on timeline->value happens hence call sync_timeline_signal() with
no increment is pointless.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:22 +0000 (10:49 -0200)]
staging/android: remove unused var from sync_timeline_signal()
signaled_pts is not used in this function.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:21 +0000 (10:49 -0200)]
staging/android: remove struct sync_pt
struct sync_pt was just wrapping around struct fence and creating an
extra abstraction layer. The only two members of struct sync_pt, child_list
and active_list, were moved to struct fence in an earlier commit. After
removing those two members struct sync_pt is nothing more than struct
fence, so remove it all and use struct fence directly.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:20 +0000 (10:49 -0200)]
staging/android: rename 'sync_pt' to 'fence' in struct sync_fence_cb
'sync_pt' is actually declared as struct fence so to make the name means
its type we rename it to 'fence'.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:19 +0000 (10:49 -0200)]
staging/android: rename sync_fence to sync_file
sync_file has a more close meaning to what a sync_fence really, a struct
that represent a file that can be used by userspace to get information on
a fence, or wait for it to be signaled.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:18 +0000 (10:49 -0200)]
staging/android: move SW_SYNC_USER to a debugfs file
This remove CONFIG_SW_SYNC_USER and instead compile the sw_sync file into
debugpfs under <debugfs>/sync/sw_sync.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:17 +0000 (10:49 -0200)]
staging/android: create a 'sync' dir for debugfs information
Creates the 'sync' dir on debugfs root dir and move the 'sync' file
to sync/info. This is the preparation to add more debug info and control.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:16 +0000 (10:49 -0200)]
staging/android: remove not used sync_timeline ops
.dup and .compare are not used by the sync framework, so remove them
from sw_sync.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:15 +0000 (10:49 -0200)]
staging/android: sync: remove interfaces that are not used
These interfaces are not used nor have plans to be used in the near
future so remove them for a cleaner solution before de-staging the sync
framework.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gustavo Padovan [Thu, 21 Jan 2016 12:49:14 +0000 (10:49 -0200)]
staging/android: fix sync framework documentation
Updates comments about functions and structures.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chen Feng [Mon, 1 Feb 2016 06:04:02 +0000 (14:04 +0800)]
android: binder: Sanity check at binder ioctl
Sanity check at binder ioctl function,
Only allow the shared mm_struct to use the same binder-object
to do binder operate.
And add proc->vma_vm_mm = current->mm at the open function.
The libbinder do ioctl before mmap called.
V2: Fix compile error for error commit
V3: Change the condition to proc->vma_vm_mm
Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Wei Dong <weidong2@hisilicon.com>
Signed-off-by: Junmin Zhao <zhaojunmin@huawei.com>
Reviewed-by: Zhuangluan Su <suzhuangluan@hisilicon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Liviu Dudau [Thu, 21 Jan 2016 11:57:47 +0000 (11:57 +0000)]
staging: android: ion: Set the length of the DMA sg entries in buffer
ion_buffer_create() will allocate a buffer and then create a DMA
mapping for it, but it forgot to set the length of the page entries.
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
Acked-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chen Feng [Fri, 15 Jan 2016 02:38:19 +0000 (10:38 +0800)]
staging: ion : Donnot wakeup kswapd in ion system alloc
Since ion alloc can be called by userspace,eg gralloc.
When it is called frequently, the efficiency of kswapd is
to low. And the reclaimed memory is too lower. In this way,
the kswapd can use to much cpu resources.
With 3.5GB DMA Zone and 0.5 Normal Zone.
pgsteal_kswapd_dma
9364140
pgsteal_kswapd_normal
7071043
pgscan_kswapd_dma
10428250
pgscan_kswapd_normal
37840094
With this change the reclaim ratio has greatly improved
18.9% -> 72.5%
Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Lu bing <albert.lubing@hisilicon.com>
Reviewed-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bopamo Osaisai [Fri, 8 Jan 2016 17:15:31 +0000 (09:15 -0800)]
Staging: android: Fix brace coding style warning in sync_debug.c
This is a patch to the sync_debug.c file that rectifies a brace warning
that was found with the checkpatch.pl tool
Signed-off-by: Bopamo Osaisai <bopamo@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rajmal Menariya [Sat, 30 Jan 2016 06:07:35 +0000 (22:07 -0800)]
staging: ion: Set minimum carveout heap allocation order to PAGE_SHIFT
In carveout heap, change minimum allocation order from 12 to
PAGE_SHIFT. After this change each bit in bitmap (genalloc -
General purpose special memory pool) represents one page size
memory.
Cc: sprd-ind-kernel-group@googlegroups.com
Cc: sanjeev.yadav@spreadtrum.com
Cc: Colin Cross <ccross@android.com>
Cc: Android Kernel Team <kernel-team@android.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Rajmal Menariya <rajmal.menariya@spreadtrum.com>
[jstultz: Reworked commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Colin Cross [Sat, 30 Jan 2016 06:07:33 +0000 (22:07 -0800)]
staging: lowmemorykiller: Make default lowmemorykiller debug message useful
lowmemorykiller debug messages are inscrutable and mostly useful
for debugging the lowmemorykiller, not explaining why a process
was killed. Make the messages more useful by prefixing them
with "lowmemorykiller: " and explaining in more readable terms
what was killed, who it was killed for, and why it was killed.
The messages now look like:
[ 76.997631] lowmemorykiller: Killing 'droid.gallery3d' (2172), adj 1000,
[ 76.997635] to free 27436kB on behalf of 'kswapd0' (29) because
[ 76.997638] cache 122624kB is below limit 122880kB for oom_score_adj 1000
[ 76.997641] Free memory is -53356kB above reserved
A negative number for free memory above reserved means some of the
reserved memory has been used and is being regenerated by kswapd,
which is likely what called the shrinkers.
Cc: Android Kernel Team <kernel-team@android.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Colin Cross <ccross@android.com>
[jstultz: Minor checkpatch tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rom Lemarchand [Sat, 30 Jan 2016 06:07:31 +0000 (22:07 -0800)]
staging: ashmem: Add missing include
Include <linux/types.h> into ashmem.h to ensure referenced types
are defined
Cc: Android Kernel Team <kernel-team@android.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Rom Lemarchand <romlem@android.com>
[jstultz: Minor commit message tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Laura Abbott [Sat, 30 Jan 2016 06:07:30 +0000 (22:07 -0800)]
staging: ashmem: Avoid deadlock with mmap/shrink
Both ashmem_mmap and ashmem_shrink take the ashmem_lock. It may
be possible for ashmem_mmap to invoke ashmem_shrink:
-000|mutex_lock(lock = 0x0)
-001|ashmem_shrink(?, sc = 0x0) <--- try to take ashmem_mutex again
-002|shrink_slab(shrink = 0xDA5F1CC0, nr_pages_scanned = 0, lru_pages
-002|=
-002|124)
-003|try_to_free_pages(zonelist = 0x0, ?, ?, ?)
-004|__alloc_pages_nodemask(gfp_mask = 21200, order = 1, zonelist =
-004|0xC11D0940,
-005|new_slab(s = 0xE4841E80, ?, node = -1)
-006|__slab_alloc.isra.43.constprop.50(s = 0xE4841E80, gfpflags =
-006|
2148925462, ad
-007|kmem_cache_alloc(s = 0xE4841E80, gfpflags = 208)
-008|shmem_alloc_inode(?)
-009|alloc_inode(sb = 0xE480E800)
-010|new_inode_pseudo(?)
-011|new_inode(?)
-012|shmem_get_inode(sb = 0xE480E800, dir = 0x0, ?, dev = 0, flags =
-012|187)
-013|shmem_file_setup(?, ?, flags = 187)
-014|ashmem_mmap(?, vma = 0xC5D64210) <---- Acquire ashmem_mutex
-015|mmap_region(file = 0xDF8E2C00, addr =
1772974080, len = 233472,
-015|flags = 57,
-016|sys_mmap_pgoff(addr = 0, len = 230400, prot = 3, flags = 1, fd =
-016|157, pgoff
-017|ret_fast_syscall(asm)
-->|exception
-018|NUR:0x40097508(asm)
---|end of frame
Avoid this deadlock by using mutex_trylock in ashmem_shrink; if the mutex
is already held, do not attempt to shrink.
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Android Kernel Team <kernel-team@android.com>
Reported-by: Matt Wagantall <mattw@codeaurora.org>
Reported-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Reported-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Reported-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
[jstultz: Minor commit message tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Hugo Camboulive [Sat, 2 Jan 2016 22:33:26 +0000 (22:33 +0000)]
staging: most: add __iomem for io_base and registers
This removes a few Sparse warnings.
Signed-off-by: Hugo Camboulive <hugo.camboulive@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Hari Prasath Gujulan Elango [Mon, 28 Dec 2015 08:55:37 +0000 (08:55 +0000)]
staging: most: replace multiple if..else with table lookup
Replace multiple if..else if..statements with simple table lookup in two
functions.
Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sudip Mukherjee [Sun, 22 Nov 2015 17:00:54 +0000 (22:30 +0530)]
staging: most: fix error comparison
device_create() returns ERR_PTR on error, it does not return NULL.
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:09 +0000 (10:53 +0100)]
staging: most: remove 2nd forward declaration of struct most_aim
This patch removes the second forwared declaration of struct most_aim.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:08 +0000 (10:53 +0100)]
staging: most: add statistics for dropped packets
This patch adds a counter for dropped packets. It needed for statistical
analysis.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:07 +0000 (10:53 +0100)]
staging: most: rearrange function aim_write
This patch straightens and rearranges the code of function aim_write()
of module aim-cdev.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:06 +0000 (10:53 +0100)]
staging: most: remove stacked_mbo
This patch makes use of kfifo_peek and kfifo_skip, which renders the
variable stacked_mbo useless. It is therefore removed.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:05 +0000 (10:53 +0100)]
staging: most: change type of access_ref
This patch changes the type of the access reference from atomit_t to int.
It is needed, because the reference variable is secured by synchronization
locks and does not need to be atomic anymore.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:04 +0000 (10:53 +0100)]
staging: most: fix race conditions
This patch fixes race conditions that might emerge from functions
aim_open, aim_close, aim_read, aim_write and aim_disconnect_channel
within module cdev.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:03 +0000 (10:53 +0100)]
staging: most: rename variable channel
This patch renames the variable 'channel' to 'c'. This is needed to have
the code look more homogeneous and to prevent format violations.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 12 Jan 2016 13:00:03 +0000 (14:00 +0100)]
staging: most: fix retrieval of buffer availability
This patch fixes the function channel_has_mbo that delivers the false
information in case two AIMs are using the same tx channel.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:01 +0000 (10:53 +0100)]
staging: most: encapsulate shared code
This patch encapsulates shared code. It therefore creates the new functions
stop_channel and destroy_cdev.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:53:00 +0000 (10:53 +0100)]
staging: most: remove redundant call to wake_up_interruptible
This patch prevents the cdev module from rousing the channel wait queue in
case the channel is about to be closed. It is safe to do so, because the
application can not be waiting within read or write and at the same time
be calling close.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm [Tue, 22 Dec 2015 09:52:59 +0000 (10:52 +0100)]
staging: most: remove redundant mutexes
This patch removes the mutexes stop_task_mutex and deregister mutex,
since they can safely be left out.
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>