Commit graph

563952 commits

Author SHA1 Message Date
Subash Abhinov Kasiviswanathan
b410fce77c net: rmnet_data: modify 8-byte QoS Header
Clients consuming the 8-byte QoS header expect the flowID
in a different position in the header thus causing random address
dereference and a potential crash. Update the 8-byte QoS header
format structure as specified in the mandated QOS specification

CRs-Fixed: 625709
Change-Id: I58c662ff2f3adfe9584d19891339ea31ce0c8bd3
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2016-03-22 11:05:10 -07:00
Harout Hedeshian
ce9d8001da net: rmnet_data: Add support for ftrace events
Adding initial support for ftrace events in order to help with
profiling and debugging. This initial set of events covers the
ingress and egress handlers.

Change-Id: I296d6fb9d009d8fdc2061e17d25e1275ee0a8a12
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:09 -07:00
Harout Hedeshian
3988539fdd net: rmnet_data: new structure for rmnet ioctls
This patch modifies the rmnet ioctls RMNET_IOCTL_GET_LLP,
RMNET_IOCTL_GET_QOS, RMNET_IOCTL_GET_OPMODE, RMNET_IOCTL_FLOW_ENABLE
and RMNET_IOCTL_FLOW_DISABLE to avoid putting integral data in pointers
and avoid casting between 32 and 64 bits types.

CRs-Fixed: 601207
Change-Id: I66edb785f6204f38b6f0ecccb2ceab36d5e38188
Acked-by: Sivan Reinstein <sivanr@qti.qualcomm.com>
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
[subashab@codeaurora.org: remove driver specific changes]
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2016-03-22 11:05:08 -07:00
Subash Abhinov Kasiviswanathan
a207285d7f net: rmnet_data: Add default value for tx_queue_len
The default value of tx_queue_len was 0 which was causing packet
drops because of queueing in tc.
This patch sets a fixed value for the tx_queue_len

CRs-Fixed: 609873
Change-Id: I51739e63223b563f7cf8838d88908db7dcc9bf3e
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2016-03-22 11:05:07 -07:00
Harout Hedeshian
46fa5323ca net: rmnet_data: Add newline character debug packet dump
The lack of newline characters causes messy printouts over serial.
This patch corrects the problem for easier readability.

Change-Id: I38df34eb4a705d8c0fcd3243b7e756967bc7d5a9
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:06 -07:00
Harout Hedeshian
330c4cad0c net: rmnet_data: Enhanced counters
Added performance counters to various key places in RmNet Data
data path.

CRs-Fixed: 600629
Change-Id: Iba50c86665e181e09525e9538a540e09e526e16f
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:05 -07:00
Harout Hedeshian
8ae46d6442 net: rmnet_data: Enhance logging macros to remove duplicated code
Logging macros now enforce that function names are printed, and
newlines are inserted at the end. The start of log messages are
now standardize.

CRs-Fixed: 600629
Change-Id: I91dae00c331af80954b93eba1f7be2889c569276
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:04 -07:00
Harout Hedeshian
7ce58413a8 net: rmnet_data: Add support for guaranteed padding
Added new parameter tail_spacing to
RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT in order to support
an additional fixed padding on packets. Required to support RNDIS
tethering.

CRs-Fixed: 579184
Change-Id: I58bbbfbaa68a28b25a96f52b04165285de9c24ef
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:03 -07:00
Harout Hedeshian
ea8b2b766f net: rmnet_data: Modifying the ingress handler to support MAP bridging
This patch modified the main ingress handler to not drop MAP packets
when in bridge mode. This is required to support bridging of MAP
packets between two endpoints.

CRs-Fixed: 590888
Change-Id: If0b6f6434ec95c36e0f46bbe70ea65fa50b03b15
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Harout Hadeshian <harouth@codeaurora.org>
2016-03-22 11:05:03 -07:00
Harout Hedeshian
693208f66d net: rmnet_data: Handle device unregister notifications
Gracefully handle device unregister notifications. Cleans
up any logical endpoints configured on a physical devices
and then unassociates it. Required to prevent crash if
references are held too long.

CRs-Fixed: 596227
Change-Id: I02d08e07e74510b7a8dffbefa99e651e0100db23
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:02 -07:00
Harout Hedeshian
20bcb202e3 net: rmnet_data: Enhancements to support SSR
Cleaned up refcount on get_dev_by_name.
Added new APIs to support cleanup of configuration and virtual devices.
Added explicit reference managment in association/un-association
and when setting/unsetting logical EP.

CRs-Fixed: 596227
Change-Id: Ic67bb649b0f0420d9a1e4bf5664ed63c0ff7d8bf
Signed-off-by: Harout Hadeshian <harouth@codeaurora.org>
2016-03-22 11:05:01 -07:00
Harout Hedeshian
e618b5e2a8 net: rmnet_data: 8-byte QoS Header Support
Implement 8-byte QoS header support in order to fix alignment
issues on HSIC transport and increase throughput

CRs-Fixed: 579132
Change-Id: I3e53571d36bd71705abcb1473290929f8227e6f3
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:05:00 -07:00
Harout Hedeshian
35a95f1d3f net: msm_rmnet.h: Fix IOCTL numbering for newly introduced IOCTLs
Fix IOCTLs with invalid numbers. Addresses limitation in network
IOCTL code which prevents more than 16 user defined IOCTLs. All new
IOCTLs have been multiplexed into a single user defined ioctl. Required
to support RmNet Data features.

CRs-Fixed: 554883
Change-Id: Ic33bdf068f7e4014272d3b47ed7b07f5d4a6be2c
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:04:59 -07:00
Harout Hedeshian
3a9fa2aa80 net: rmnet_data: In-band flow control
Implement MAP based in-band flow control. Added 2 new configuration
messages to allow adding and deleting flow handles. Added handlers
in VND for flow control events. Added flow control command handler
in rmnet_map_commands.

CRs-fixed: 568534
Change-Id: Ica52e4ad89430c9fa5e2b38e389ee6bc91de2e9b
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:04:58 -07:00
Harout Hedeshian
162318ea3e net: rmnet_data: Set SKB protocol for outbound MAP packets
Set the skb->protocol field to ETH_P_MAP for egress packets which
have MAP enabled. Required for lower level drivers to ensure that
only MAP packets are being transmitted.

CRs-Fixed: 554883
Change-Id: I6fa852344ef36e079cc610cbed152555aae9d6f2
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:04:57 -07:00
Harout Hedeshian
c514dd5ef4 net: rmnet_data: Change aggregation copy mode for compat
Change SKB copy and delivery mode to fix certain error
modes when running ingress deaggregation

CRs-Fixed: 565123
Change-Id: If23cee6a0de6b189b2c528423df52555e1879bc3
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:04:56 -07:00
Harout Hedeshian
0f789efb3a net: rmnet_data: Add support for user defined device name prefix
Run-time user space components can now specify virtual network device
name prefix at device creation. This will be used to support legacy
data services.

CRs-Fixed: 555507
Change-Id: Id34c2761f2060e66b05c521304d5151620ba5665
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:04:56 -07:00
Harout Hedeshian
5b65821191 net: rmnet_data: Fix compiler macro comments
Removed incorrect compiler macro comments in MAP header file.
Comments are now up fixed up to standards.

CRs-Fixed: 553399
Change-Id: I6373753e644f3801b7a25184e4cff5772f365a02
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2016-03-22 11:04:55 -07:00
Harout Hedeshian
658fd52bad RmNet Data: Initial release
RmNet Data driver provides a transport agnostic MAP (multiplexing and
aggregation protocol) support in embedded and bridge modes. Module
provides virtual network devices which can be attached to any IP-mode
physical device. This will be used to provide all MAP functionality
on future hardware in a single consistent location.

CRs-Fixed: 525675
Change-Id: I739947c9c3de008974dd485a74e9953ba2cbb75e
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
[subashab@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2016-03-22 11:04:54 -07:00
Rohit Vaswani
50de92cd6d ARM64: Enable APPENDED_DTB in Makefile and defconfig
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2016-03-22 11:04:53 -07:00
Laura Abbott
c75946685b ion: Export ion headers to userspace
Ion headers need to go to userspace. Export them via the staging tree

Change-Id: I9b622efaae3d0ed764ce064da228112c363c066d
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2016-03-22 11:04:52 -07:00
Jeremy Gebben
93bfd6dbac uapi: export android staging headers
There are several uapi headers required for android that are
in drivers/staging/android/uapi. Create symlinks for these files
in include/uapi/linux so that we can export them without messing
up Kbuild.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2016-03-22 11:04:51 -07:00
Neeti Desai
a20c28af03 msm: Add secure vmid for msa
For sharing the memory between hlos and modem,
a new secure vmid is needed to be used in the
assign api. Define that.

Change-Id: Ibcddbafeb1fc430aae3fcda7c609bca4d81e57a9
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:50 -07:00
Mitchel Humpherys
51adc0956b msm: secure_buffer: Ensure shared buffers are cache-aligned
Buffers shared with hypervisor might undergo some cache maintenance on
the hypervisor side.  Currently, we're passing a buffer that might not
be cache-aligned (source_vm_list), so when the hypervisor does some
cache maintenance on it they might be corrupting data.  Fix this by
ensuring that all buffers being shared with the hypervisor are
cache-aligned by kmalloc'ing and memcpy'ing the source_vm_list before
sending it across.

Change-Id: I661f8ca852ade159e3432904086b060be8bfb806
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-22 11:04:50 -07:00
Mitchel Humpherys
8a9d07bc98 msm: secure_buffer: Add helper function to convert VMIDs into strings
It can be useful to convert secure VMID values into strings.  Provide a
helper function to do so.

Change-Id: If907a0bac92c5d164154c0e5dfe67933115163c8
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-22 11:04:49 -07:00
Neeti Desai
a04defd9b7 msm: secure_buffer: Update the hyp_assign_phys() api
The hyp_assign_phys() api can be called by different
usecases where it is not guaranteed that the source vm is
always VMID_HLOS.

Pass the responsibility of setting the source_vm to
caller of the function.

Change-Id: I3851a6681f49d4bb6fa5b7a889a16a158497e9e6
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:48 -07:00
Rohit Vaswani
a3f96ffb79 defconfig: msm_defconfig: Enable ION and IOMMU defconfigs. Also cleanup the defconfigs
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2016-03-22 11:04:47 -07:00
Laura Abbott
65899d855f mm: highmem: Add definitions for kmap_atomic_flush_unused
kmap_flush_unused does not flush kmap_atomic mappings which
are handled separately. Architectures may have use cases to require
these to be flushed. Add an option to let architectures define
kmap_atomic flushing to get rid of extra mappings.

Change-Id: I5a338ed9e215f0f0ad3ab58a3066d2f4c8ce3ba7
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2016-03-22 11:04:46 -07:00
Shrenuj Bansal
40eb383998 msm: kgsl: Add EXEC permission to the unassign call
When calling hyp_assign to free a secure buffer we need to pass
in RWX permissions so that when the Hypervisor unmaps the buffer
and maps it back to HLOS, the HLOS is able to use the same
memory for data and instructions.

Change-Id: I71e06a81df85891fecb11c5f197acd54979d2887
Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
2016-03-22 11:04:45 -07:00
Shiraz Hashim
1b043ecc99 ion: unmap ion buffer before free
Buffers must be unmapped first and then freed. Without
this sequence, specifically for secure buffers, TZ throws
error on free if it finds persisting mapping. Fix this.

Change-Id: Iba09cb998b4f87da3e9eb1c2bc186453be02a278
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-03-22 11:04:44 -07:00
Shiraz Hashim
7d769009f7 msm: ion: fix ion cache maintenance issue with highmem
ion cache maintenance code while doing cache maintenance
on each sg is only considering page length which may not
always be correct. An sg node can have more than page
length contiguous pages.

Update the code to properly take care of any length sg.

Change-Id: Ifdf8a8fa26abfa5bd47185a1039880306246d587
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-03-22 11:04:44 -07:00
Vinayak Menon
275f276110 ion: fix compile time error with !CONFIG_CMA
Let ION compile when CONFIG_CMA is not defined.

Change-Id: I6f3cf19a94e3f966c0973c9f8d765ecb752b7a48
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-03-22 11:04:43 -07:00
Neeti Desai
63be0380dc msm: ion: Fix NULL pointer dereference in error path
If the hypervisor fails to assign the correct vmids to the
memory allocated, we should free the allocated memory. However
the free path depends on certain parameters of the ion_buffer
structure which have not yet been populated.

Update the function definition to accept the scatter gather list
instead of the ion buffer, since we are zero'ing the list
and not the buffer.

Change-Id: I68bef3af6c1b7e8092fbc0e878d3c825580f438e
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:42 -07:00
Liam Mark
9eda916073 ion: add support for non-pool allocations
Currently it is difficult to test the real performance of
allocating from the ion system heap since the heap uses
a page pool.  Customers regularly encounter
scenarios where the pool is empty and memory has to
be allocated from the system.

Add support for the ION_FLAG_POOL_FORCE_ALLOC flag so that
the pool can be bypassed in order to measure the performance
of non-pool system heap allocations.

Change-Id: Ia89910abf52282a9696bd5abb9270930078c66a3
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2016-03-22 11:04:41 -07:00
Yagya Sen
830561c265 Revert "msm: ion: fix ion cache maintenance issue"
This reverts commit afedf4f2f4c57d2("msm: ion: fix ion cache
maintenance issue") was causing device crash just after
launching camera or adrenotest app. revert the change
till original issue get fixed.

Change-Id: I32e9ff9610de7de8f24fae36ed14ff35a9806f0c
Signed-off-by: Fnu Yagyasen <yagya@codeaurora.org>
2016-03-22 11:04:40 -07:00
Shiraz Hashim
7c7828ace0 msm: ion: fix ion cache maintenance issue
ion cache maintenance code while doing cache maintenance
on each sg is only considering page length which may not
always be correct. An sg node can have more than page
length contiguous pages.

Update the code to properly take care of any length sg.

Change-Id: Ied380fa32cbda5384bab8ec2625ceaf1010fd314
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-03-22 11:04:39 -07:00
Neeti Desai
b3589b554d msm: ion: Do not call unassign on buffer if assign fails
During buffer allocation if the assign call fails, we call
ion_system_secure_heap_free, which in turn does an unassign
operation before freeing the buffer. We don't want to call
unassign if the assign failed.

Fix this by calling the underlying free function directly
during error handling.

Change-Id: I2deec6fd147c4200e16f3779e37330dca1d7d173
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:38 -07:00
Neeti Desai
3eac23bf1a msm: ion: Add secure cma heap
Add the infrastructure to support a secure cma heap
needed for secure usecases. The new heap uses
the existing cma heap infrastructure, along with adding
the assign call to assign the correct VM to the buffers
during allocation and free.

Change-Id: I0c959f46ffa6eb67128b6794e9e60c470a3d292e
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:38 -07:00
Neeti Desai
4cbd8a0f84 msm: ion: Update the permissions while making assign call
When freeing a secure buffer, the RWX permissions need to be
passed as a parameter to the hyp_assign call. This will ensure
that when the hypervisor unmaps the buffer, HLOS can use it
for data as well as instructions.

Change-Id: I2f1e67dda8f3ebedee552a2908b7f57c18754d42
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:37 -07:00
Shrenuj Bansal
aeb2abd83d ion: Set the page private bit on secure buffers
Set the private page bit on each sg of secure buffers to inform
other entities, which import these buffers as an fd, that this
memory is secure.

Change-Id: I767c26fa1feca7505bbb3293cfdb4e09520496a6
Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
2016-03-22 11:04:36 -07:00
Se Wang (Patrick) Oh
e6051f3f41 ion: Fix unprotected userspace access
After enabling KASan, unprotected userspace access causes
a PTE translation fault as it can covers only kernel memory
region. Following is the crash error for the reference.

Unable to handle kernel paging request at virtual address dfffff901ff64b84
pgd = ffffffc083266000
[dfffff901ff64b84] *pgd=0000000000000000, *pud=0000000000000000
Internal error: Oops: 96000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 8527 Comm: iveaudiolatency Tainted: G        W      3.18.0-g5a4a5d5-07255-g8e80921-dirty #21
Hardware name: Qualcomm Technologies, Inc. MSM 8996 v2 + PMI8994 MTP (DT)
task: ffffffc02bfeb600 ti: ffffffc083378000 task.ti: ffffffc083378000
PC is at compat_msm_ion_ioctl+0x23c/0x614
LR is at compat_msm_ion_ioctl+0x1d8/0x614
pc : [<ffffffc0012bd570>] lr : [<ffffffc0012bd50c>] pstate: 80000145
sp : ffffffc08337faf0
x29: ffffffc08337faf0 x28: 0000000000000000
x27: ffffffc083378000 x26: 00000000ffb25c20
x25: 00000000e2fa6000 x24: 0000000000000000
x23: 00000000ffb25c18 x22: 0000000000000000
x21: ffffffc08fcaa640 x20: 00000000c0144d00
x19: 00000000ffb25c74 x18: 0000000000000000
x17: 0000000000000000 x16: ffffffc000385a88
x15: 0000000000000000 x14: 00000000f73517c9
x13: 00000000ffb25c30 x12: 0000000000000001
x11: 00000000ffffffff x10: ffffff881066ff3a
x9 : 1ffffff81066ff3a x8 : dfffff9000000000
x7 : 0000000000000036 x6 : ffffffc08337f9d4
x5 : 0000000000000003 x4 : 00000000ffb25c30
x3 : ffffffc0012bd334 x2 : 0000000000000001
x1 : 000000001ff64b84 x0 : dfffff9000000000

Process iveaudiolatency (pid: 8527, stack limit = 0xffffffc083378058)
Call trace:
[<ffffffc0012bd570>] compat_msm_ion_ioctl+0x23c/0x614
[<ffffffc0012aea84>] ion_ioctl+0x4dc/0x680
[<ffffffc0012bb254>] compat_ion_ioctl+0xb98/0xbc0
[<ffffffc000385d10>] compat_SyS_ioctl+0x288/0x2048
Code: 910022fa d2dff200 d343ff41 f2fbffe0 (38e06820)
---[ end trace 490ef1c3bde7b96c ]---
coresight-tmc 3028000.tmc: TMC aborted

Change-Id: I7595bbf5f311182d40f7158654df56dc8bcf672a
Signed-off-by: Se Wang (Patrick) Oh <sewango@codeaurora.org>
2016-03-22 11:04:35 -07:00
Olav Haugan
87e6f73b29 iommu: Add support for delayed unmapping of ion/dma_buf buffer
Add new APIs to allow clients to map and unmap dma_buffers created by
ION. The call to the unmap API will not actually do the unmapping from the
IOMMU. The unmapping will occur when the ION/dma_buf buffer is actually
freed. This behavior can be disabled with DMA_ATTR_NO_DELAYED_UNMAP

Change-Id: Ic4dbd3b582eb0388020c650cab5fbb1dad67ae81
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-03-22 11:04:34 -07:00
Shiraz Hashim
910d8c50d2 ion: add debug log to clearly account memory held in pools
Presently ion debug interface provides total memory held
in system heap for cached and uncached pool corresponding
to per page order list. Add additional logs to also print
total cumulative bytes held together in these pools so
that it can be accounted easily.

Change-Id: I07dbc45fa99870904cca9b2067b371f4d7247ec5
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-03-22 11:04:33 -07:00
Neeti Desai
5cd0d2091e msm: Update the assign api to secure buffers
The assign call apis have been updated by TZ to
include more usecases. Update the secure_buffer
api files with the same. The system secure heap
needs to be updated to reflect the change in
the api calls.

Change-Id: Idc784ddac222e6ad9f5defafc422e6e3fb88aa0c
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:32 -07:00
Neeti Desai
aa786020de msm: move types and declarations to header file
Move all function declarations and types to the header
file to make the macros and definitions available even
when the CONFIG_MSM_SECURE_BUFFER is not enabled. Rename
rid of the msm_ion_secure_table and msm_ion_unsecure_table
to something more generic.

Change-Id: Ia5ca0c52f971a67c7936c64b42cd2522aa1773fa
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:32 -07:00
Neeti Desai
44c62ba199 msm: Move the secure_buffer.c file to a new location
The secure_buffer.c files does not have anything specific
to ion. The functions defined here might be needed by other
drivers as well. If the ion driver is disabled that might
not work. So move the file to a new location.

Change-Id: I3498de791c01019b7933feb65d196152887fcf24
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22 11:04:31 -07:00
Prasad Sodagudi
85f869dd57 ion: validate ion client in ion_debug_client_show() and extract data
ion client can get created and destroyed dynamically.
Client data struct may not be in proper state if one core is reading
client information and other core is destroying the same client.
There is no synchronization between ion_debug_client_show() and
ion_client_destroy(), that leaves client data structures in
uncertain state and which may lead to system crash.

So add a check in ion_debug_client_show(), to verify whether the client
is part of ion device rb tree or not before retrieving client data.

CRs-Fixed: 743714
Change-Id: Ic4c2f9dff905d9bb8fbf2e56b7c6396dc01bdf8f
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
2016-03-22 11:04:29 -07:00
Mitchel Humpherys
114a9f67b6 staging: ion: chunk_heap: use %pad for printing dma_addr_t's
We're currently using %lu and %ld to print some variables of type
dma_addr_t, which results in the following warning when dma_addr_t is
64-bits wide:

    drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create':
    drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=]
      pr_info("%s: base %lu size %zu align %ld\n", __func__, chunk_heap->base,
      ^
    drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=]

Fix this by using %pad as instructed in printk-formats.txt.

Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-22 11:04:28 -07:00
Banajit Goswami
01d99f383f ion: update type of ION handle size
ION handle buffer size should be of type 'size_t' and not
'unsigned long'. Update the API signature of ion_handle_get_size
which reads and returns the size of the ION buffer.

Change-Id: I43040816724318f5f388f0b542be963d497a754b
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-03-22 11:04:27 -07:00
Laura Abbott
460d0dafc0 ion: Use up_read where appropriate
show_ion_usage protects against modification with a down_read.
Close it by protecting with an up_read not an up_write.

Change-Id: I2acd29188cde13cc11b4f6c8d6e35082ba37c08a
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2016-03-22 11:04:26 -07:00