GitHub/LineageOS/android_kernel_motorola_exynos9610.git
8 years agostaging: sm750fb: use BIT macro for POWER_MODE_CTRL single-bit fields
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>
8 years agostaging: sm750fb: change definition of MODE0_GATE multi-bit fields
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>
8 years agostaging: sm750fb: use BIT macro for MODE0_GATE single-bit fields
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>
8 years agostaging: sm750fb: change definition of CURRENT_GATE multi-bit fields
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>
8 years agostaging: sm750fb: set{Memory, Master}Clock: rename ulReg to reg
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>
8 years agostaging: sm750fb: use BIT macro for CURRENT_GATE single-bit fields
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>
8 years agostaging: sm750fb: change definition of MISC_CTRL multi-bit fields
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>
8 years agostaging: sm750fb: use BIT macro for GPIO_MUX single-bit fields
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>
8 years agostaging: sm750fb: ddk750_sii164: fix defines for i2c{Read, Write}reg
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>
8 years agostaging: sm750fb: use BIT macro for MISC_CTRL single-bit fields
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>
8 years agostaging: sm750fb: ddk750_initHw: rename ulReg to reg
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>
8 years agostaging: sm750fb: change definition of SYSTEM_CTRL multi-bit fields
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>
8 years agostaging: sm750fb: use BIT macro for SYSTEM_CTRL single-bit fields
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>
8 years agostaging: sm750fb: remove unused DE_STATE2_DE_RESERVED
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>
8 years agostaging: sm750fb: use BIT macro for DE_STATE2 single-bit fields
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>
8 years agostaging: sm750fb: use BIT macro for DE_STATE1 single-bit field
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>
8 years agostaging: sm750fb: hw_sm750(le)_deWait: rename dwVal to val
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>
8 years agostaging: sm750fb: lynxfb_pci_probe: remove some pr_info
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>
8 years agostaging: sm750fb: introduce sm750fb_frambuffer_alloc
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>
8 years agostaging: sm750fb: introduce sm750fb_frambuffer_release
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>
8 years agostaging: sm750fb: replace dual member of sm750_dev with fb_count
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>
8 years agostaging: sm750fb: lynxfb_pci_remove: remove unused variable
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>
8 years agostaging: sm750fb: lynxfb_pci_probe: return actual errors
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>
8 years agostaging: sm750fb: disable PCI device if lynxfb_pci_probe fails
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>
8 years agostaging/rdma/hfi1: Fix Xmit Wait calculation
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>
8 years agostaging/rdma/hfi1: Clean up comments
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>
8 years agostaging: rdma: hfi1: diag: constify hfi1_filter_array structure
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>
8 years agostaging/rdma/hfi1: add dd_dev_dbg
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>
8 years agostaging/rdma/hfi1: set Gen3 half-swing for integrated devices
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>
8 years agostaging: drop kbuild workaround dummy module from top dir
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>
8 years agoSTAGING: COMEDI: Wrap line over 80 characters
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>
8 years agoSTAGING: COMEDI: Remove unnecessary typecast of c90 int constant
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>
8 years agostaging: comedi: ni_mio_common: add finite regeneration to dio output
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>
8 years agostaging: comedi: ni_mio_common: adds finite regeneration to AO output
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>
8 years agostaging: comedi: ni_mio_common: Cleans up/clarifies ni_ao_cmd
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>
8 years agostaging: comedi: ni_mio_common: make more bits in ao_cmd1 reg be stateful
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>
8 years agostaging: comedi: ni_mio_common: Cleans up/clarifies ni_ao_reset
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>
8 years agostaging: comedi: mite: enable continuous regeneration of finite samples
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>
8 years agostaging: comedi: ni_mio_common: use CR_CHAN more consistently
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>
8 years agostaging: comedi: ni_tiocmd: change mistaken use of start_src for start_arg
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>
8 years agostaging: comedi: ni_pcimio: Adds PXI-6251 to supported boards
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>
8 years agostaging: comedi: dt2801: Prefer using the BIT macro
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>
8 years agoion:synchronize debugfs callback and ion_client_destroy
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>
8 years agostaging/ion: Add support to get ion handle from dma buf
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>
8 years agostaging/android: remove len field from struct sync_fence_info
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>
8 years agostaging/android: remove driver_data from struct sync_fence_info
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>
8 years agostaging/android: rename sync_file_info_data to sync_file_info
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>
8 years agostaging/android: rename sync_pt_info to sync_fence_info
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>
8 years agostaging/android: remove SYNC_WAIT ioctl
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>
8 years agoStaging: Android: memory allocation style change in ion_page_pool.c
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>
8 years agostaging/android: remove sync_fence_create_dma()
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>
8 years agostaging/android: remove pointless sync_timeline_signal at destroy phase
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>
8 years agostaging/android: remove unused var from sync_timeline_signal()
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>
8 years agostaging/android: remove struct sync_pt
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>
8 years agostaging/android: rename 'sync_pt' to 'fence' in struct sync_fence_cb
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>
8 years agostaging/android: rename sync_fence to sync_file
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>
8 years agostaging/android: move SW_SYNC_USER to a debugfs file
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>
8 years agostaging/android: create a 'sync' dir for debugfs information
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>
8 years agostaging/android: remove not used sync_timeline ops
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>
8 years agostaging/android: sync: remove interfaces that are not used
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>
8 years agostaging/android: fix sync framework documentation
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>
8 years agoandroid: binder: Sanity check at binder ioctl
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>
8 years agostaging: android: ion: Set the length of the DMA sg entries in buffer
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>
8 years agostaging: ion : Donnot wakeup kswapd in ion system alloc
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>
8 years agoStaging: android: Fix brace coding style warning in sync_debug.c
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>
8 years agostaging: ion: Set minimum carveout heap allocation order to PAGE_SHIFT
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>
8 years agostaging: lowmemorykiller: Make default lowmemorykiller debug message useful
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>
8 years agostaging: ashmem: Add missing include
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>
8 years agostaging: ashmem: Avoid deadlock with mmap/shrink
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>
8 years agostaging: most: add __iomem for io_base and registers
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>
8 years agostaging: most: replace multiple if..else with table lookup
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>
8 years agostaging: most: fix error comparison
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>
8 years agostaging: most: remove 2nd forward declaration of struct most_aim
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>
8 years agostaging: most: add statistics for dropped packets
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>
8 years agostaging: most: rearrange function aim_write
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>
8 years agostaging: most: remove stacked_mbo
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>
8 years agostaging: most: change type of access_ref
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>
8 years agostaging: most: fix race conditions
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>
8 years agostaging: most: rename variable channel
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>
8 years agostaging: most: fix retrieval of buffer availability
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>
8 years agostaging: most: encapsulate shared code
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>
8 years agostaging: most: remove redundant call to wake_up_interruptible
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>
8 years agostaging: most: remove redundant mutexes
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>
8 years agostaging: most: remove code to destroy channel
Christian Gromm [Tue, 22 Dec 2015 09:52:58 +0000 (10:52 +0100)]
staging: most: remove code to destroy channel

This patch removes unnecessary code to destroy channel objects. It is
needed, because function most_stop_channel, which is indirectly
triggered by function most_deregister_interface, already destroys the
channels.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: remove reference counter
Christian Gromm [Tue, 22 Dec 2015 09:52:57 +0000 (10:52 +0100)]
staging: most: remove reference counter

This patch removes the unnecessary reference conter mod_ref.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: remove tainted flag
Christian Gromm [Tue, 22 Dec 2015 09:52:56 +0000 (10:52 +0100)]
staging: most: remove tainted flag

This patch removes the atomic tainted flag. It is needed to get rid of
logical overhead.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: move channel disconnect to function most_deregister_interface
Christian Gromm [Tue, 22 Dec 2015 09:52:55 +0000 (10:52 +0100)]
staging: most: move channel disconnect to function most_deregister_interface

This patch moves the code that disconnects linked channels. It is needed
to have cleaning things up done right.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: move mutex
Christian Gromm [Tue, 22 Dec 2015 09:52:54 +0000 (10:52 +0100)]
staging: most: move mutex

This patch removes mutex from code that doesn't need any locking.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: move initialization of pointer
Christian Gromm [Tue, 22 Dec 2015 09:52:53 +0000 (10:52 +0100)]
staging: most: move initialization of pointer

This patch makes function store_add_link initialize the pointer to an AIM
right before the channel is probed. It is needed, the AIM may already call
most_start_channel while probe_channel is still running. At this point the
pointer to the AIM must not be NULL.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: move call to disconnect_channel callback
Christian Gromm [Tue, 22 Dec 2015 09:52:52 +0000 (10:52 +0100)]
staging: most: move call to disconnect_channel callback

This patch invokes AIM's disconnect_channel callback before the
corresponding pointers are re-initialized to NULL.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: add missing call to ida_simple_remove
Christian Gromm [Tue, 22 Dec 2015 09:52:51 +0000 (10:52 +0100)]
staging: most: add missing call to ida_simple_remove

This patch adds two missing calls to function ida_simpel_remove.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: remove function destroy_most_c_obj
Christian Gromm [Tue, 22 Dec 2015 09:52:50 +0000 (10:52 +0100)]
staging: most: remove function destroy_most_c_obj

This patch removes the function destroy_most_c_obj and executes its code
within function destroy_most_inst_obj.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: use readl and writel functions
Christian Gromm [Tue, 22 Dec 2015 09:52:49 +0000 (10:52 +0100)]
staging: most: use readl and writel functions

This patch makes use of functions readl and writel instead of
the __raw_* variants.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: fix tracking of MBO offset
Christian Gromm [Tue, 22 Dec 2015 09:52:48 +0000 (10:52 +0100)]
staging: most: fix tracking of MBO offset

This patch increments mbo_offs by the number of bytes that have
been copied and resets it in case a complete mbo has been transferred
to user buffer.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: fix mbo leak
Christian Gromm [Tue, 22 Dec 2015 09:52:47 +0000 (10:52 +0100)]
staging: most: fix mbo leak

This patch fixes a potential MBO leak in case function aim_read()
exits right after the MBO has been fetched from kfifo and before
it has been saved to the variable stacked_mbo.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: use min_t
Christian Gromm [Tue, 22 Dec 2015 09:52:46 +0000 (10:52 +0100)]
staging: most: use min_t

This patch replaces min with min_t.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: unify types
Christian Gromm [Tue, 22 Dec 2015 09:52:45 +0000 (10:52 +0100)]
staging: most: unify types

This patch unifies variable types to get less castings.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: simplify expression
Christian Gromm [Tue, 22 Dec 2015 09:52:44 +0000 (10:52 +0100)]
staging: most: simplify expression

This patch replaces the ternary ?-operator with a way simpler subtraction.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: rename variables
Christian Gromm [Tue, 22 Dec 2015 09:52:43 +0000 (10:52 +0100)]
staging: most: rename variables

This patch renames some variables for better readability.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agostaging: most: remove unnecessary keep_mbo variable
Christian Gromm [Tue, 22 Dec 2015 09:52:42 +0000 (10:52 +0100)]
staging: most: remove unnecessary keep_mbo variable

The MBO pointer stacked_mbo and the boolean variable keep_mbo are
always changed together and therefore provide the same information.
This patch removes keep_mbo and uses stacked_mbo instead.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>