Commit graph

581729 commits

Author SHA1 Message Date
Sravan Kumar D.V.N
44b2aad082 msm: mdss: Clear compat structures before copying to user
In the compat layer, the temporary structures used to convert
data from 32bit to 64bit structures need to be set to 0 before
being assigned values.

CRs-Fixed: 1103689
Change-Id: I405500f427f3f4dc4d38a9fb188fece9a31614ca
Signed-off-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
2017-01-24 15:25:34 -08:00
Azam Sadiq Pasha Kapatrala Syed
d6f2fbcca5 msm: camera: Find and return mapped fd's from the list
Change to iterate the mapped buffer list and use the secure buffer
info structure instead of dma buffer info to return the secure mapped
fd's pertaining to the corresponding session.

Change-Id: I6dbfef3741d7ae0b24a4e101eebbf8dc62da630a
Signed-off-by: Azam Sadiq Pasha Kapatrala Syed <akapatra@codeaurora.org>
2017-01-24 15:21:13 -08:00
Abhijit Kulkarni
912edf6078 msm: mdss: Fix handling of Doze mode
This change fails the atomic validation if the commit happens
when panel is in ultra low power mode. This change also initializes
the play count when the panel power state changes.

Change-Id: Ie55dca6c8160c0eef4d4d01635d50d2d011e228c
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2017-01-24 11:25:13 -08:00
Abhijit Kulkarni
aaac291341 msm: mdss: fix use of uninitialized local variable
This change fixes unitilized local variable being used and
checks for the valid format in concurrent writeback case before
using the format parameters.

CRs-Fixed: 1110015
Change-Id: I61a3e20af1d0a4db7a7db454ae35b810639744ae
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2017-01-24 11:11:57 -08:00
Sathish Ambley
f779271498 defconfig: sdm660: Enable CDSP loader driver
Enable the CDSP loader driver to load CDSP image at boot
time.

Change-Id: Iaf0b60b09f98c67ae512620a225ddf385baec20c
Acked-by: Himateja Reddy <hmreddy@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2017-01-24 10:07:50 -08:00
Govind Singh
880e2993f4 ath10k: Add copy engine descriptor for WCN3990 target
The WCN3990 target uses 37bit addressing mode, define
separate structure for the copy engine descriptor to
support this 37bit addressing mode. The WCN3990 target
supports copy engine classification and toeplitz hash
calculation for NAPI.

CRs-Fixed: 1115328
Change-Id: I3a6d3e71e788acfab44f4c9d0f159ced351e6456
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-01-24 05:48:16 -08:00
Govind Singh
29a9abf1f9 ath10k: Add copy engine register MAP for wcn3990 wlan module
The copy engine is a host to target communication interface
between wlan firmware and wlan wcn3990 platform driver. Add copy
engine register map for wcn3990 snoc wlan module. This add support
for the copy engine source/destination ring configuration for
wcn3990 chipset.

CRs-Fixed: 1114412
Change-Id: If1a87fd9fffc62605ebc6d3fd8ed22980c5518e9
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-01-24 04:53:47 -08:00
Sandeep Panda
cc9f8d6709 msm: mdss: disable dsi timing db once fps is updated
In the current implementation, once dynamic fps update
kicks in, MDSS driver enables DSI timing db property.
But from chipsets like sdm660, DSI_CMD_OFFSET and
DSI_CMD_LENGTH register has become double buffered and
since timing db property was enabled as part of dynamic
fps update, DSI commands transfer for backlight update,
panel health check or panel off might fail if there is
no control flush. So disable DSI timing db property once
dynamic fps update sequence is complete.

Change-Id: I5158a36c9eea8f257ec81bab2f260e072fc22f29
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2017-01-24 17:20:14 +05:30
Lior David
626e3caa78 wil6210: bus_request platform operation refinement
The driver uses the bus_request platform operation to
request resources from the platform for a specific bandwidth.
Currently the driver requests resources for the maximum
theoretical bandwidth, when interface is brought up.
Refine this process a bit: now the driver will request a
small amount of resources when interface is up, and will only
issue the maximum request when connected.
This mechanism will be improved further in the future to make
more refined requests based on actual bandwidth.

Change-Id: Iada383f8183338190bfb082c1128d2ea38053ebc
CRs-Fixed: 1114406
Signed-off-by: Lior David <liord@codeaurora.org>
2017-01-24 13:30:19 +02:00
Lior David
18ae38826c msm_11ad: basic support for CPU boost
Added basic support for CPU boost: when driver calls ops_bus_request
with a high bandwidth requirement, enable the big CPU cluster
and adjust the affinity of the wil6210 interrupt to run on
the first big core. The first big core is selected because
WLAN driver uses the other cores.

Change-Id: Ia752b9a8ca343b56e2839a30a4fdb59231f9a634
CRs-Fixed: 1114406
Signed-off-by: Lior David <liord@codeaurora.org>
2017-01-24 13:30:09 +02:00
Tirupathi Reddy
fcc7c6c794 regulator: cpr4: Support MMSS closed-loop voltage adjustments
Adjust the target quotients according to the closed-loop voltage
adjustments mentioned in device tree node and efuse data.

Move the common code as utility functions in cpr3-util file
and keep the platform specific code in platform specific MMSS
files.

Change-Id: I39989cc57522009929c2785340563ee6ffb2475c
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2017-01-24 16:27:03 +05:30
Udaya Bhaskara Reddy Mallavarapu
37d262a5a5 ARM: dts: msm: Resolve TSIF GPIO conflicts for APQ8098
For APQ8098 TSIF GPIOs are allocated dedicately.
Remove TSIF GPIO references from other device nodes.
For SD Card detect GPIO86 is allocated and freed GPIO95.
Disable MDSS DSI configuration & free references of
GPIO91, GPIO94 pins.

CRs-Fixed: 1113595
Change-Id: Ib65231df58d4a9fc7cd5b1f744c406bf9d9c5885
Signed-off-by: Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org>
2017-01-24 15:01:15 +05:30
Sharad Sangle
5e3dd3f21b ASoC: msm: qdsp6v2: DAP: Add check to validate param length
To avoid buffer overflow, validate input length used to
set Dolby params.

Change-Id: I3f9d6040f118f63b60c20c83b0d8cae638f4a530
CRs-Fixed: 1095947
Signed-off-by: Sharad Sangle <assangle@codeaurora.org>
2017-01-23 22:57:41 -08:00
cyizhao
cafa17dfc7 ARM: dts: msm: Enable home key for qrd sdm660
GPIO11 is used for home key on QRD sdm660 device.
Configure it to input/pull-up mode and add it to gpio-keys
device for key detection.

CRs-Fixed: 1115040
Change-Id: I7144a784c8cae4fbb026c4822b757ea76502bf7d
Signed-off-by: cyizhao <cyizhao@codeaurora.org>
2017-01-24 14:02:03 +08:00
Sahitya Tummala
80240ba72a ARM: dts: msm: Add remote fs device node on sdm630
It is needed to enable remote file system on modem processor, which
needs access to store data onto eMMC/UFS device.

The shared memory size used by modem and apps for this purpose is 2MB
on sdm630.

Change-Id: Ib41f8c542e10add6ec5d77632a104028e51e6b8c
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2017-01-24 11:23:13 +05:30
Kiran Gunda
7b39a54287 ARM: dts: msm: Add LAB-IBB/OLEDB support for PM660A
PM660A supports LAB-IBB and OLEDB regulator while they are not
existing in PM660L. Add device nodes and enable them for PM660A.

Change-Id: I0210accea5e3a358830acf2235f72bad003d8144
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-01-23 21:09:47 -08:00
Kiran Gunda
e30ab2df19 regulator: qpnp-oledb: Correct the conditional checks
Correct the conditional check in the oledb_hw_init to avoid programming the
configuration registers if module is already enabled. Also correct the
conditional check in the oledb_regulator_disable.

CRs-Fixed: 1114628
Change-Id: I1af6c5ba6427050832ae04e693f161c517ef03a2
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-01-23 21:08:29 -08:00
Kiran Gunda
08db9f492d regulator: qpnp-labibb: Do not program LAB_CURRENT_SENSE for PM660A
Programming the default (1.5x) LAB_CURRENT_SENSE configuration is not
required for PM660A. Configure it only if explicitly specified in the
DT config.

CRs-Fixed: 1114628
Change-Id: Ib09e6430e99a7f39a9d2f837494a977daff354ba
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-01-24 10:29:12 +05:30
Benjamin Chan
715bb59eea msm: mdss: Add interface to support dest-scaler partial update
When destination scaler is used, the partial update ROI setting from the
layer mixer is not correct to program the panel ROI. We need an extra
panel ROI setting in such usecase.

CRs-Fixed: 1082694
Change-Id: Ieda5d43b6c52987464cf88aba6526da4441ee1d9
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2017-01-23 22:11:26 -05:00
Venkat Gopalakrishnan
98d825a34c scsi: ufs: check for err state when polling for doorbell
As part of polling for doorbell during clk scaling, we need to
make sure the host is in good state before polling.
In case error handler is running at the same time, that could
reset the clocks as part of recovery causing unclocked register
access when polling for doorbell.

Change-Id: I715932e9bffd51956d3a24aa2aec66c2c9a4652b
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2017-01-23 17:34:52 -08:00
Liangliang Lu
cd36afbdb7 usb: gadget: f_diag: allocate diag USB channel when not found
Currently usb function instance driver depends on diag char driver to
create the channel (using usb_diag_open api). Failing to create channel
can result in enumeration failure. Avoid this dependency by creating
diag channel from function instance if not available. Same channel
will be reused when diag char driver creates/opens the channel.

Change-Id: I11debd0189d81542762af22b3d203728d2266a42
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
2017-01-24 08:57:06 +08:00
Hemant Kumar
baaba9bc36 usb: gadget: f_mass_storage: Add delay before continuing status stage
There is a possibility of race between ep0 setup phase completion
handler and mass storage thread. Upon set_alt if thread gets a
chance to run before dwc3_ep0_delegate_req() returns
USB_GADGET_DELAYED_STATUS and sets delayed_status flag to true status
phase request never gets queued. This results into device enumeration
failure followed by a bus resets. Fix this issue by adding delay before
calling usb_composite_setup_continue() to queue the status phase request.

Change-Id: Iec6cf668053af310be5171d19d204fb452e01f2a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2017-01-23 16:23:55 -08:00
Abhijeet Dharmapurikar
7cbc0c2159 smb-lib: report discharging when charger is absent
Currently, the code reports whatever is in the BATTERY_CHARGING_STATUS_1
register for the battery status.

We have seen that the register continues to report FAST charging
even when the chg_ok pin could be low or dc path is in collapsed
state (collapsed state is treated as dc not online). This unexpected
report of charging while it is not really charging breaks certain
features.

Fix it by checking for usb_online and dc_online. But make sure that
if the battery is full it continues to report so.

Change-Id: I732c916b4f63f9ff0fd8d9c77ce5253c309698a4
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-01-23 16:21:02 -08:00
Runmin Wang
778031ccb5 genirq: Add IRQ_AFFINITY_MANAGED flag
Add IRQ_AFFINITY_MANAGED flag and related kernel APIs so that
kernel driver can modify an irq's status in such a way that
user space affinity change will be ignored. Kernel space's
affinity setting will not be changed.

Change-Id: Ib2d5ea651263bff4317562af69079ad950c9e71e
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-01-23 16:01:01 -08:00
Venkat Gopalakrishnan
c128400dc5 scsi: ufs: fix ufshcd_hold deadlock
If ufs_qcom_testbus_config is called as part of dumping registers
inside ufshcd_ungate_work then a ufshcd_hold in this function will
deadlock triggering another ungate work and waiting for it to finish.
Fix this by making sure the caller already holds the needed locks
for clocks and runtime status.

Change-Id: I8f4c10d952c8f74c93b991088f5ee1eaf719ca84
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2017-01-23 15:00:09 -08:00
Minchan Kim
3730d2be4d mm: prevent double decrease of nr_reserved_highatomic
There is race between page freeing and unreserved highatomic.

 CPU 0				    CPU 1

    free_hot_cold_page
      mt = get_pfnblock_migratetype
      set_pcppage_migratetype(page, mt)
    				    unreserve_highatomic_pageblock
    				    spin_lock_irqsave(&zone->lock)
    				    move_freepages_block
    				    set_pageblock_migratetype(page)
    				    spin_unlock_irqrestore(&zone->lock)
      free_pcppages_bulk
        __free_one_page(mt) <- mt is stale

By above race, a page on CPU 0 could go non-highorderatomic free list
since the pageblock's type is changed.  By that, unreserve logic of
highorderatomic can decrease reserved count on a same pageblock severak
times and then it will make mismatch between nr_reserved_highatomic and
the number of reserved pageblock.

So, this patch verifies whether the pageblock is highatomic or not and
decrease the count only if the pageblock is highatomic.

Change-Id: Ieb4b6c0c98d1797339a94dd4b8033048552c9aad
Link: http://lkml.kernel.org/r/1476259429-18279-3-git-send-email-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Sangseok Lee <sangseok.lee@lge.com>
Cc: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 4855e4a7f29d6d10b0b9c84e189c770c9a94e91e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2017-01-23 13:58:53 -08:00
Minchan Kim
9242902d60 mm: don't steal highatomic pageblock
Patch series "use up highorder free pages before OOM", v3.

I got OOM report from production team with v4.4 kernel.  It had enough
free memory but failed to allocate GFP_KERNEL order-0 page and finally
encountered OOM kill.  It occured during QA process which launches
several apps, switching and so on.  It happned rarely.  IOW, In normal
situation, it was not a problem but if we are unluck so that several
apps uses peak memory at the same time, it can happen.  If we manage to
pass the phase, the system can go working well.

I could reproduce it with my test(memory spike easily.  Look at below.

The reason is free pages(19M) of DMA32 zone are reserved for
HIGHORDERATOMIC and doesn't unreserved before the OOM.

  balloon invoked oom-killer: gfp_mask=0x24280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), order=0, oom_score_adj=0
  balloon cpuset=/ mems_allowed=0
  CPU: 1 PID: 8473 Comm: balloon Tainted: G        W  OE   4.8.0-rc7-00219-g3f74c9559583-dirty #3161
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
  Call Trace:
    dump_stack+0x63/0x90
    dump_header+0x5c/0x1ce
    oom_kill_process+0x22e/0x400
    out_of_memory+0x1ac/0x210
    __alloc_pages_nodemask+0x101e/0x1040
    handle_mm_fault+0xa0a/0xbf0
    __do_page_fault+0x1dd/0x4d0
    trace_do_page_fault+0x43/0x130
    do_async_page_fault+0x1a/0xa0
    async_page_fault+0x28/0x30
  Mem-Info:
  active_anon:383949 inactive_anon:106724 isolated_anon:0
   active_file:15 inactive_file:44 isolated_file:0
   unevictable:0 dirty:0 writeback:24 unstable:0
   slab_reclaimable:2483 slab_unreclaimable:3326
   mapped:0 shmem:0 pagetables:1906 bounce:0
   free:6898 free_pcp:291 free_cma:0
  Node 0 active_anon:1535796kB inactive_anon:426896kB active_file:60kB inactive_file:176kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:0kB dirty:0kB writeback:96kB shmem:0kB writeback_tmp:0kB unstable:0kB pages_scanned:1418 all_unreclaimable? no
  DMA free:8188kB min:44kB low:56kB high:68kB active_anon:7648kB inactive_anon:0kB active_file:0kB inactive_file:4kB unevictable:0kB writepending:0kB present:15992kB managed:15908kB mlocked:0kB slab_reclaimable:0kB slab_unreclaimable:20kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
  lowmem_reserve[]: 0 1952 1952 1952
  DMA32 free:19404kB min:5628kB low:7624kB high:9620kB active_anon:1528148kB inactive_anon:426896kB active_file:60kB inactive_file:420kB unevictable:0kB writepending:96kB present:2080640kB managed:2030092kB mlocked:0kB slab_reclaimable:9932kB slab_unreclaimable:13284kB kernel_stack:2496kB pagetables:7624kB bounce:0kB free_pcp:900kB local_pcp:112kB free_cma:0kB
  lowmem_reserve[]: 0 0 0 0
  DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 2*4096kB (H) = 8192kB
  DMA32: 7*4kB (H) 8*8kB (H) 30*16kB (H) 31*32kB (H) 14*64kB (H) 9*128kB (H) 2*256kB (H) 2*512kB (H) 4*1024kB (H) 5*2048kB (H) 0*4096kB = 19484kB
  51131 total pagecache pages
  50795 pages in swap cache
  Swap cache stats: add 3532405601, delete 3532354806, find 124289150/1822712228
  Free swap  = 8kB
  Total swap = 255996kB
  524158 pages RAM
  0 pages HighMem/MovableOnly
  12658 pages reserved
  0 pages cma reserved
  0 pages hwpoisoned

Another example exceeded the limit by the race is

  in:imklog: page allocation failure: order:0, mode:0x2280020(GFP_ATOMIC|__GFP_NOTRACK)
  CPU: 0 PID: 476 Comm: in:imklog Tainted: G            E   4.8.0-rc7-00217-g266ef83c51e5-dirty #3135
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
  Call Trace:
    dump_stack+0x63/0x90
    warn_alloc_failed+0xdb/0x130
    __alloc_pages_nodemask+0x4d6/0xdb0
    new_slab+0x339/0x490
    ___slab_alloc.constprop.74+0x367/0x480
    __slab_alloc.constprop.73+0x20/0x40
    __kmalloc+0x1a4/0x1e0
    alloc_indirect.isra.14+0x1d/0x50
    virtqueue_add_sgs+0x1c4/0x470
    __virtblk_add_req+0xae/0x1f0
    virtio_queue_rq+0x12d/0x290
    __blk_mq_run_hw_queue+0x239/0x370
    blk_mq_run_hw_queue+0x8f/0xb0
    blk_mq_insert_requests+0x18c/0x1a0
    blk_mq_flush_plug_list+0x125/0x140
    blk_flush_plug_list+0xc7/0x220
    blk_finish_plug+0x2c/0x40
    __do_page_cache_readahead+0x196/0x230
    filemap_fault+0x448/0x4f0
    ext4_filemap_fault+0x36/0x50
    __do_fault+0x75/0x140
    handle_mm_fault+0x84d/0xbe0
    __do_page_fault+0x1dd/0x4d0
    trace_do_page_fault+0x43/0x130
    do_async_page_fault+0x1a/0xa0
    async_page_fault+0x28/0x30
  Mem-Info:
  active_anon:363826 inactive_anon:121283 isolated_anon:32
   active_file:65 inactive_file:152 isolated_file:0
   unevictable:0 dirty:0 writeback:46 unstable:0
   slab_reclaimable:2778 slab_unreclaimable:3070
   mapped:112 shmem:0 pagetables:1822 bounce:0
   free:9469 free_pcp:231 free_cma:0
  Node 0 active_anon:1455304kB inactive_anon:485132kB active_file:260kB inactive_file:608kB unevictable:0kB isolated(anon):128kB isolated(file):0kB mapped:448kB dirty:0kB writeback:184kB shmem:0kB writeback_tmp:0kB unstable:0kB pages_scanned:13641 all_unreclaimable? no
  DMA free:7748kB min:44kB low:56kB high:68kB active_anon:7944kB inactive_anon:104kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15908kB mlocked:0kB slab_reclaimable:0kB slab_unreclaimable:108kB kernel_stack:0kB pagetables:4kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
  lowmem_reserve[]: 0 1952 1952 1952
  DMA32 free:30128kB min:5628kB low:7624kB high:9620kB active_anon:1447360kB inactive_anon:485028kB active_file:260kB inactive_file:608kB unevictable:0kB writepending:184kB present:2080640kB managed:2030132kB mlocked:0kB slab_reclaimable:11112kB slab_unreclaimable:12172kB kernel_stack:2400kB pagetables:7284kB bounce:0kB free_pcp:924kB local_pcp:72kB free_cma:0kB
  lowmem_reserve[]: 0 0 0 0
  DMA: 7*4kB (UE) 3*8kB (UH) 1*16kB (M) 0*32kB 2*64kB (U) 1*128kB (M) 1*256kB (U) 0*512kB 1*1024kB (U) 1*2048kB (U) 1*4096kB (H) = 7748kB
  DMA32: 10*4kB (H) 3*8kB (H) 47*16kB (H) 38*32kB (H) 5*64kB (H) 1*128kB (H) 2*256kB (H) 3*512kB (H) 3*1024kB (H) 3*2048kB (H) 4*4096kB (H) = 30128kB
  2775 total pagecache pages
  2536 pages in swap cache
  Swap cache stats: add 206786828, delete 206784292, find 7323106/106686077
  Free swap  = 108744kB
  Total swap = 255996kB
  524158 pages RAM
  0 pages HighMem/MovableOnly
  12648 pages reserved
  0 pages cma reserved
  0 pages hwpoisoned

During the investigation, I found some problems with highatomic so this
patch aims to solve the problems and the final goal is to unreserve
every highatomic free pages before the OOM kill.

This patch (of 4):

In page freeing path, migratetype is racy so that a highorderatomic page
could free into non-highorderatomic free list.  If that page is
allocated, VM can change the pageblock from higorderatomic to something.
In that case, highatomic pageblock accounting is broken so it doesn't
work(e.g., VM cannot reserve highorderatomic pageblocks any more
although it doesn't reach 1% limit).

So, this patch prohibits the changing from highatomic to other type.
It's no problem because MIGRATE_HIGHATOMIC is not listed in fallback
array so stealing will only happen due to unexpected races which is
really rare.  Also, such prohibiting keeps highatomic pageblock more
longer so it would be better for highorderatomic page allocation.

Change-Id: I15c2f91965eb4c35a2a53dc43f9acb8945922198
Link: http://lkml.kernel.org/r/1476259429-18279-2-git-send-email-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Sangseok Lee <sangseok.lee@lge.com>
Cc: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 88ed365ea227aa28841a8d6e196c9a261c76fffd
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2017-01-23 13:57:38 -08:00
Skylar Chang
ede327d5d7 msm: ipa3: fix prod drain for WDI 2.0
Drain WLAN_PROD pipe by sending a QMI to modem only in case
that the pipe is not empty. Also for SSR case, set a timeout
for QMI message response.

Change-Id: Iecd63a929b622d80ad4d4ebf15e8de9251f7d9d3
CRs-Fixed: 1113156
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-01-23 13:53:56 -08:00
Linux Build Service Account
314869eb56 Merge "crypto: msm: check integer overflow on total data len in qcedev.c" 2017-01-23 12:54:11 -08:00
Linux Build Service Account
9223e16750 Merge "defconfig: msm: enable dvb demux modules compilation for sdm660" 2017-01-23 12:54:10 -08:00
Linux Build Service Account
a4f78ef096 Merge "ASoC: msm: Include interrupt registers in pdata" 2017-01-23 12:54:09 -08:00
Linux Build Service Account
5b51bcade5 Merge "msm: ipa: Fix WDI2.0 stats" 2017-01-23 12:54:08 -08:00
Linux Build Service Account
82b5ff09ae Merge "defconfig: msm: Remove LOCKUP detector in sdm660 perf config" 2017-01-23 12:54:08 -08:00
Linux Build Service Account
2151340268 Merge "mac80211: pass block ack session timeout to to driver" 2017-01-23 12:54:06 -08:00
Tatenda Chipeperekwa
4709f01bbd msm: mdss: dp: fix HBR2 pattern generation
Fix the HBR2 pattern generation by ensuring that the pattern
selection bit is not overwritten by a subsequent register write
that updates the scrambler reset count.

CRs-Fixed: 1108048
Change-Id: I2d2dcc79de82756eab015a343c24411a735947c9
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-01-23 12:25:08 -08:00
Thomas Gleixner
1cc869442a genirq: Introduce IRQD_AFFINITY_MANAGED flag
Interupts marked with this flag are excluded from user space interrupt
affinity changes. Contrary to the IRQ_NO_BALANCING flag, the kernel internal
affinity mechanism is not blocked.

This flag will be used for multi-queue device interrupts.

Change-Id: I204c49bb1c8ce87fbcd163119093163b120bfe83
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: linux-block@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-nvme@lists.infradead.org
Cc: axboe@fb.com
Cc: agordeev@redhat.com
Link: http://lkml.kernel.org/r/1467621574-8277-3-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Git-commit: 9c2555835bb3d34dfac52a0be943dcc4bedd650f
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[runminw@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-01-23 11:23:37 -08:00
Sathish Ambley
c82086f404 ARM: dts: msm: Add CDSP loader device tree node
Add a device tree node for CDSP loader, that is used for loading
CDSP image during boot.

Change-Id: I955ca3b89d36426a46554a62c11efb5fafb0e2c7
Acked-by: Himateja Reddy <hmreddy@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2017-01-23 09:58:47 -08:00
Sathish Ambley
224c188111 msm: CDSP: Enable CDSP loader driver
Add CDSP loader driver to bring compute DSP out of reset
during boot.

Change-Id: I2571e2158fcf7706efc5a5922da24f22755eeed7
Acked-by: Himateja Reddy <hmreddy@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2017-01-23 09:56:24 -08:00
Samyukta Mogily
e45f50997b ARM: dts: msm: Enable camera for sdm630
Adding sdm660-camera dtsi nodes in sdm630 dtsi files.

Change-Id: I1ddcd27e2133eb601bb43b368d815d17767df8d3
Signed-off-by: Samyukta Mogily <smogily@codeaurora.org>
2017-01-23 18:23:23 +05:30
Pavankumar Kondeti
448f83e347 defconfig: msm: Enable SCHED_AUTOGROUP for sdm660
This config is already enabled in perf defconfig but missed
in the debug defconfig.

Change-Id: I85ba0624318a0141fb8b6418e8e923201a108c55
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-01-23 18:21:40 +05:30
Linux Build Service Account
4f1f60e00d Merge "ARM: dts: msm: add nt35597 sharp panel node for sdm660" 2017-01-23 04:04:11 -08:00
Linux Build Service Account
96a84f78be Merge "ARM: dts: msm: Enable continuous splash on sdm660" 2017-01-23 04:04:10 -08:00
Linux Build Service Account
b2664632f0 Merge "msm: ipa: SDM660 miscellaneous changes" 2017-01-23 04:04:09 -08:00
Linux Build Service Account
17f521e882 Merge "diag: Synchronize threads to fix possible deadlock" 2017-01-23 04:04:08 -08:00
Linux Build Service Account
d846339612 Merge "msm: ADSPRPC: Remove references to SMD" 2017-01-23 04:04:07 -08:00
Linux Build Service Account
5b5a6be59f Merge "msm: kgsl: Dump preemption record only if it is enabled" 2017-01-23 04:04:06 -08:00
Linux Build Service Account
5bf6056e40 Merge "msm: kgsl: Try lower order mempools incase of mismatch" 2017-01-23 04:04:05 -08:00
Sayali Lokhande
d1f519fceb defconfig: msm: Enable CONFIG_MMC_RING_BUFFER for sdm660
Enable CONFIG_MMC_RING_BUFFER to support ring buffer
logging of legacy and CQ events for sdm660.

Change-Id: I8ea62ea393cc7243b0652ca186cb914f9a7ea321
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-01-23 15:23:06 +05:30
Taniya Das
1f6a843f94 clk: Add separate function to print clocks enabled during suspend
When debug_suspend is set to true and the low power code invokes the
function to print the enabled clocks during suspend the function fails to
execute the do while loop in clock_debug_print_enabled_clocks, so separate
out the function to handle the same.

Change-Id: I014750637bc17c1107c7f0745d2d44caf6c96e62
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2017-01-23 14:00:49 +05:30
Laxminath Kasam
4c3ed0da3a ASoC: msm: Include interrupt registers in pdata
To fix access of unmapped memory region, add
lpi registers in pdata of node. This enables
unmapping when pdata is destroyed.

Change-Id: I62b2e50f8db39bdc430299a817ba621288ab4f3e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-01-23 13:33:31 +05:30