summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | | block/cfq: cache rightmost rb_nodeDavidlohr Bueso2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit f0f1a45f95e85a8ac28c4d62bf2a84db0799efab upstream. For the same reasons we already cache the leftmost pointer, apply the same optimization for rb_last() calls. Users must explicitly do this as rb_root_cached only deals with the smallest node. [dave@stgolabs.net: brain fart #1] Link: http://lkml.kernel.org/r/20170731155955.GD21328@linux-80c1.suse Link: http://lkml.kernel.org/r/20170719014603.19029-18-dave@stgolabs.net Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Cc: Jens Axboe <axboe@fb.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Harsh Shandilya <harsh@prjkt.io>
* | | | rbtree: cache leftmost node internallyDavidlohr Bueso2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit cd9e61ed1eebbcd5dfad59475d41ec58d9b64b6a upstream. Patch series "rbtree: Cache leftmost node internally", v4. A series to extending rbtrees to internally cache the leftmost node such that we can have fast overlap check optimization for all interval tree users[1]. The benefits of this series are that: (i) Unify users that do internal leftmost node caching. (ii) Optimize all interval tree users. (iii) Convert at least two new users (epoll and procfs) to the new interface. This patch (of 16): Red-black tree semantics imply that nodes with smaller or greater (or equal for duplicates) keys always be to the left and right, respectively. For the kernel this is extremely evident when considering our rb_first() semantics. Enabling lookups for the smallest node in the tree in O(1) can save a good chunk of cycles in not having to walk down the tree each time. To this end there are a few core users that explicitly do this, such as the scheduler and rtmutexes. There is also the desire for interval trees to have this optimization allowing faster overlap checking. This patch introduces a new 'struct rb_root_cached' which is just the root with a cached pointer to the leftmost node. The reason why the regular rb_root was not extended instead of adding a new structure was that this allows the user to have the choice between memory footprint and actual tree performance. The new wrappers on top of the regular rb_root calls are: - rb_first_cached(cached_root) -- which is a fast replacement for rb_first. - rb_insert_color_cached(node, cached_root, new) - rb_erase_cached(node, cached_root) In addition, augmented cached interfaces are also added for basic insertion and deletion operations; which becomes important for the interval tree changes. With the exception of the inserts, which adds a bool for updating the new leftmost, the interfaces are kept the same. To this end, porting rb users to the cached version becomes really trivial, and keeping current rbtree semantics for users that don't care about the optimization requires zero overhead. Link: http://lkml.kernel.org/r/20170719014603.19029-2-dave@stgolabs.net Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Reviewed-by: Jan Kara <jack@suse.cz> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Harsh Shandilya <harsh@prjkt.io>
* | | | block/cfq: replace cfq_rb_root leftmost cachingDavidlohr Bueso2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 09663c86e24953556ff8696efa023557901f2b66 upstream. ... with the generic rbtree flavor instead. No changes in semantics whatsoever. Link: http://lkml.kernel.org/r/20170719014603.19029-11-dave@stgolabs.net Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Reviewed-by: Jan Kara <jack@suse.cz> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Jens Axboe <axboe@fb.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Harsh Shandilya <harsh@prjkt.io>
* | | | cfq-iosched: Delete unused function min_vdisktime()Matthias Kaehlcke2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following warning when building with clang: block/cfq-iosched.c:970:19: error: unused function 'min_vdisktime' [-Werror,-Wunused-function] Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Adjust one function call together with a variable assignmentMarkus Elfring2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The script "checkpatch.pl" pointed information out like the following. ERROR: do not use assignment in if condition Thus fix the affected source code place. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | block: do not merge requests without consulting with io schedulerTahsin Erdogan2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before merging a bio into an existing request, io scheduler is called to get its approval first. However, the requests that come from a plug flush may get merged by block layer without consulting with io scheduler. In case of CFQ, this can cause fairness problems. For instance, if a request gets merged into a low weight cgroup's request, high weight cgroup now will depend on low weight cgroup to get scheduled. If high weigt cgroup needs that io request to complete before submitting more requests, then it will also lose its timeslice. Following script demonstrates the problem. Group g1 has a low weight, g2 and g3 have equal high weights but g2's requests are adjacent to g1's requests so they are subject to merging. Due to these merges, g2 gets poor disk time allocation. cat > cfq-merge-repro.sh << "EOF" #!/bin/bash set -e IO_ROOT=/mnt-cgroup/io mkdir -p $IO_ROOT if ! mount | grep -qw $IO_ROOT; then mount -t cgroup none -oblkio $IO_ROOT fi cd $IO_ROOT for i in g1 g2 g3; do if [ -d $i ]; then rmdir $i fi done mkdir g1 && echo 10 > g1/blkio.weight mkdir g2 && echo 495 > g2/blkio.weight mkdir g3 && echo 495 > g3/blkio.weight RUNTIME=10 (echo $BASHPID > g1/cgroup.procs && fio --readonly --name name1 --filename /dev/sdb \ --rw read --size 64k --bs 64k --time_based \ --runtime=$RUNTIME --offset=0k &> /dev/null)& (echo $BASHPID > g2/cgroup.procs && fio --readonly --name name1 --filename /dev/sdb \ --rw read --size 64k --bs 64k --time_based \ --runtime=$RUNTIME --offset=64k &> /dev/null)& (echo $BASHPID > g3/cgroup.procs && fio --readonly --name name1 --filename /dev/sdb \ --rw read --size 64k --bs 64k --time_based \ --runtime=$RUNTIME --offset=256k &> /dev/null)& sleep $((RUNTIME+1)) for i in g1 g2 g3; do echo ---- $i ---- cat $i/blkio.time done EOF # ./cfq-merge-repro.sh ---- g1 ---- 8:16 162 ---- g2 ---- 8:16 165 ---- g3 ---- 8:16 686 After applying the patch: # ./cfq-merge-repro.sh ---- g1 ---- 8:16 90 ---- g2 ---- 8:16 445 ---- g3 ---- 8:16 471 Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: fix the delay of cfq_group's vdisktime under iops modeHou Tao2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding a cfq_group into the cfq service tree, we use CFQ_IDLE_DELAY as the delay of cfq_group's vdisktime if there have been other cfq_groups already. When cfq is under iops mode, commit 9a7f38c42c2b ("cfq-iosched: Convert from jiffies to nanoseconds") could result in a large iops delay and lead to an abnormal io schedule delay for the added cfq_group. To fix it, we just need to revert to the old CFQ_IDLE_DELAY value: HZ / 5 when iops mode is enabled. Despite having the same value, the delay of a cfq_queue in idle class and the delay of cfq_group are different things, so I define two new macros for the delay of a cfq_group under time-slice mode and iops mode. Fixes: 9a7f38c42c2b ("cfq-iosched: Convert from jiffies to nanoseconds") Cc: <stable@vger.kernel.org> # 4.8+ Signed-off-by: Hou Tao <houtao1@huawei.com> Acked-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Charge at least 1 jiffie instead of 1 nsJan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9a7f38c42c2b (cfq-iosched: Convert from jiffies to nanoseconds) could result in charging just 1 ns to a cgroup submitting IO instead of 1 jiffie we always charged before. It is arguable what is the right amount to change but for now lets retain the old behavior of always charging at least one jiffie. Fixes: 9a7f38c42c2b92391d9dabaf9f51df7cfe5608e4 Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Fix regression in bonnie++ rewrite performanceJan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9a7f38c42c2 (cfq-iosched: Convert from jiffies to nanoseconds) broke the condition for detecting starved sync IO in cfq_completed_request() because rq->start_time remained in jiffies but we compared it with nanosecond values. This manifested as a regression in bonnie++ rewrite performance because we always ended up considering sync IO starved and thus never increased async IO queue depth. Since rq->start_time is used in a lot of places, converting it to ns values would be non-trivial. So just revert the condition in CFQ to use comparison with jiffies. This will lead to suboptimal results if cfq_fifo_expire[1] will ever come close to 1 jiffie but so far we are relatively far from that with the storage used with CFQ (the default value is 128 ms). Fixes: 9a7f38c42c2b92391d9dabaf9f51df7cfe5608e4 Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Convert slice_resid from u64 to s64Jan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | slice_resid can be both positive and negative. Commit 9a7f38c42c2b (cfq-iosched: Convert from jiffies to nanoseconds) converted it from long to u64. Although this did not introduce any functional regression (the operations just overflow and the result was fine), it is certainly wrong and could cause issues in future. So convert the type to more appropriate s64. Fixes: 9a7f38c42c2b92391d9dabaf9f51df7cfe5608e4 Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Convert to use highres timersJan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Jan Kara <jack@suse.com> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Expose microsecond interfacesJeff Moyer2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose interfaces to tune time slices of CFQ IO scheduler in microseconds. Signed-off-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Convert from jiffies to nanosecondsJeff Moyer2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert all time-keeping in CFQ IO scheduler from jiffies to nanoseconds so that we can later make the intervals more fine-grained than jiffies. One jiffie is several miliseconds and even for today's rotating disks that is a noticeable amount of time and thus we leave disk unnecessarily idle. Signed-off-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Allow parent cgroup to preempt its childJan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we don't allow sync workload of one cgroup to preempt sync workload of any other cgroup. This is because we want to achieve service separation between cgroups. However in cases where cgroup preempting is ancestor of the current cgroup, there is no need of separation and idling introduces unnecessary overhead. This hurts for example the case when workload is isolated within a cgroup but journalling threads are in root cgroup. Simple way to demostrate the issue is using: dbench4 -c /usr/share/dbench4/client.txt -t 10 -D /mnt 1 on ext4 filesystem on plain SATA drive (mounted with barrier=0 to make difference more visible). When all processes are in the root cgroup, reported throughput is 153.132 MB/sec. When dbench process gets its own blkio cgroup, reported throughput drops to 26.1006 MB/sec. Fix the problem by making check in cfq_should_preempt() more benevolent and allow preemption by ancestor cgroup. This improves the throughput reported by dbench4 to 48.9106 MB/sec. Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jan Kara <jack@suse.com> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Allow sync noidle workloads to preempt each otherJan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original idea with preemption of sync noidle queues (introduced in commit 718eee0579b8 "cfq-iosched: fairness for sync no-idle queues") was that we service all sync noidle queues together, we don't idle on any of the queues individually and we idle only if there is no sync noidle queue to be served. This intention also matches the original test: if (cfqd->serving_type == SYNC_NOIDLE_WORKLOAD && new_cfqq->service_tree == cfqq->service_tree) return true; However since at that time cfqq->service_tree was not set for idling queues, this test was unreliable and was replaced in commit e4a229196a7c "cfq-iosched: fix no-idle preemption logic" by: if (cfqd->serving_type == SYNC_NOIDLE_WORKLOAD && cfqq_type(new_cfqq) == SYNC_NOIDLE_WORKLOAD && new_cfqq->service_tree->count == 1) return true; That was a reliable test but was actually doing something different - now we preempt sync noidle queue only if the new queue is the only one busy in the service tree. These days cfq queue is kept in service tree even if it is idling and thus the original check would be safe again. But since we actually check that cfq queues are in the same cgroup, of the same priority class and workload type (sync noidle), we know that new_cfqq is fine to preempt cfqq. So just remove the service tree check. Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jan Kara <jack@suse.com> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Reorder checks in cfq_should_preempt()Jan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move check for preemption by rt class up. There is no functional change but it makes arguing about conditions simpler since we can be sure both cfq queues are from the same ioprio class. Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jan Kara <jack@suse.com> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | cfq-iosched: Don't group_idle if cfqq has big thinktimeJan Kara2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no point in idling on a cfq group if the only cfq queue that is there has too big thinktime. Signed-off-by: Jan Kara <jack@suse.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@fb.com>
* | | | BACKPORT: block: use ktime_get_ns() instead of sched_clock() for cfqOmar Sandoval2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cfq has some internal fields that use sched_clock() which can trivially use ktime_get_ns() instead. Their timestamp fields in struct request can also use ktime_get_ns(), which resolves the 8 year old comment added by commit 28f4197e5d47 ("block: disable preemption before using sched_clock()"). Signed-off-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: celtare21 <celtare21@gmail.com> Signed-off-by: Yaroslav Furman <yaro330@gmail.com> - improved comment.
* | | | power: reset: msm: Don't use download mode by defaultSultanxda2022-07-27
| | | |
* | | | drivers: Remove references to PM_RUNTIMEDavide Garberi2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | * This doesn't exist anymore in 4.4 so change it with CONFIG_PM Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | ARM: dts: msm: Fix quality issue in automotive platformViraja Kommaraju2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GPIO 61 is enabled twice on automotive platform as it is added as part of quat_mi2s device tree entry which is shared between QUAT MI2S and QUAT TDM. To avoid this, update gpio61 SD1 line as new device tree entry. CRs-fixed: 1046464 Change-Id: I216ab6a3cf6890a66bd2450b77bf120a2e7b66b9 Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org> Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | ARM: dts: msm: Fix for GPIO conflict issue on MSM8996 and APQ8096Josh Kirsch2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create individual node for MI2S tert SD1 so that it will only be included in the APQ8096 MDM9x55 I2S targets and not conflict with MSM8996. Also, add fix for pinctrl GPIO issue that was causing the codec read and writes to fail. Add support for QUAT SD1 GPIO. CRs-fixed: 1024729 Change-Id: Ib687057c1a72d0b707eab711d17571bf8b1ff474 Signed-off-by: Josh Kirsch <jkirsch@codeaurora.org> Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | ARM: dts: msm: Add support of speed-bin 3 for MSM8996v3haihez2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add speed-bin 3 to support the fmax of 1.8GHz for perf clusters respectively based on speed bin0. Change-Id: I96d301005c5d00a46dcc20eb321b5552249b84c7 Signed-off-by: Haihe Zhang <haihez@codeaurora.org> Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | arm: DT: MSM8996: Rename vfe_stream_clk for VFE0 and VFE1Angelo G. Del Regno2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | The vfe_stream_clk was renamed to camss_vfe_stream_clk in k4.4. Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | Revert "msm: kgsl: Mark the scratch buffer as privileged"LuK13372022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Requires new GPU firmware This reverts commit adec4f93e1705640e7b03d33394224ff5d835280. Change-Id: I747c00bff92f6e793f207839a7ad0a61b2656f96
* | | | soc: qcom: Remove now unused MSM_SMP2P_TESTAlbert I2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All related codes have been removed since commit c457926b166c introduced by LA.UM.7.2.r1-05400-sdm660.0 CAF tag. Signed-off-by: Albert I <krascgq@outlook.co.id> Signed-off-by: Davide Garberi <dade.garberi@gmail.com> Change-Id: I3d8e6ac169e2f2712ae839c6a67f8e288a4511de
* | | | Revert "msm: kgsl: Replace scm call api with its atomic version"Davide Garberi2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makes the device randomly panic This reverts commit 2d48e40f87f822a1c98b0ed8e5ed8d1bb971cd8c. Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | sound: soc: msm: Fix dependency warningCosme Domínguez Díaz2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | warning: (SND_SOC_MSM8994 && SND_SOC_MSM8996) selects SND_SOC_MSM_HDMI_CODEC_RX which has unmet direct dependencies (SOUND && \!M68K && \!UML && SND && SND_SOC && FB_MSM_MDSS_HDMI_PANEL && (SND_SOC_APQ8084 || SND_SOC_MSM8994 || SND_SOC_MSM8996)) Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | sound: fix SND_SOC_MSM_QDSP6V2_INTF dependencyAlin Jerpelea2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the SND_SOC_MSM_QDSP6V2_INTF depends on either MSM_QDSP6_APRV2 or MSM_QDSP6_APRV2_GLINK. Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com> Signed-off-by: Davide Garberi <dade.garberi@gmail.com> Change-Id: I726404fc304302f7998ed6a7a9a1d473a1b0a138
* | | | qcacld-2.0: Add support for CFG80211_REMOVE_IEEE80211_BACKPORTSrinivas Girigowda2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CFG80211_REMOVE_IEEE80211_BACKPORT is added to indicate backport of Change-Id: 57fbcce37be7c1d2622b56587c10ade00e96afa3 from upstream 4.7 kernel to 4.4. Hence add this flag CFG80211_REMOVE_IEEE80211_BACKPORT to support this compilation. Also introduce HDD_NUM_NL80211_BANDS. Signed-off-by: Subhajeet Muhuri <kenny3fcb@gmail.com> Change-Id: I1b02162a93e441a9f269c035441023bfd5954f24
* | | | qcacld-2.0: Fix clang warnings implicit enum nl80211_bandSrinivas Girigowda2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | warning: implicit conversion from enumeration type 'enum nl80211_band' to different enumeration type 'enum ieee80211_band' [-Wenum-conversion] Signed-off-by: Subhajeet Muhuri <kenny3fcb@gmail.com>
* | | | qcacld-2.0: 4.8 Kernel Migration - Remove ieee80211_bandDustin Brown2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update references from enum ieee80211_band to nl80211_band, as ieee80211_band was removed in version 4.7 of the Linux Kernel. Signed-off-by: Subhajeet Muhuri <kenny3fcb@gmail.com> Change-Id: Ia9cf0c5210b9bcbdaec31d423e8180d44e4061e7
* | | | qcacld-2.0: fix non-literal-null-conversion warningYaroslav Furman2022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: Yaroslav Furman <yaro330@gmail.com>
* | | | qcacld-2.0: Remove some checks to fix pointer-bool-conversion warningsSubhajeet Muhuri2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ../drivers/staging/qcacld-2.0/CORE/HDD/src/wlan_hdd_main.c:10352:17: warning: address of 'pHddCtx->full_pwr_comp_var' will always evaluate to 'true' [-Wpointer-bool-conversion] if(&pHddCtx->full_pwr_comp_var) ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~ 1 warning generated. ../drivers/staging/qcacld-2.0/CORE/HDD/src/wlan_hdd_ipa.c:3192:13: warning: address of array 'dev->name' will always evaluate to 'true' [-Wpointer-bool-conversion] if (dev->name && !strcmp(dev->name, ifa->ifa_label)) ~~~~~^~~~ ~~ 1 warning generated. ../drivers/staging/qcacld-2.0/CORE/SME/src/csr/csrApiRoam.c:7300:25: warning: address of array 'pSrcProfile->bssid' will always evaluate to 'true' [-Wpointer-bool-conversion] if(pSrcProfile->bssid) ~~ ~~~~~~~~~~~~~^~~~~ 1 warning generated.
* | | | qcacld-2.0: Fix remaining typedef-redefinition warningsSubhajeet Muhuri2022-07-27
| | | |
* | | | qcacld-2.0: CLD_TXRX: Fix typedef-redefinition warningsbrigio3452022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: brigio345 <brigio345@gmail.com>
* | | | qcacld-2.0: CLD_TXRX: Fix typedef-redefinition warningsbrigio3452022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: brigio345 <brigio345@gmail.com>
* | | | qcacld-2.0: MAC: Fix typedef-redefinition warningbrigio3452022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: brigio345 <brigio345@gmail.com>
* | | | qcacld-2.0: fix -Wabsolute-value warningYaroslav Furman2022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: Yaroslav Furman <yaro330@gmail.com>
* | | | qcacld-2.0: Fix logical-not-parentheses warningmydongistiny2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ../drivers/staging/qcacld-2.0/CORE/SME/src/csr/csrApiRoam.c:14828:13: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] (!(pIes->RSN.RSN_Cap[0] >> 7) & 0x1))) ^ ~ ../drivers/staging/qcacld-2.0/CORE/SME/src/csr/csrApiRoam.c:14828:13: note: add parentheses after the '!' to evaluate the bitwise operator first (!(pIes->RSN.RSN_Cap[0] >> 7) & 0x1))) ^ ( ) ../drivers/staging/qcacld-2.0/CORE/SME/src/csr/csrApiRoam.c:14828:13: note: add parentheses around left hand side expression to silence this warning (!(pIes->RSN.RSN_Cap[0] >> 7) & 0x1))) ^ ( )
* | | | qcacld-2.0: Remove unnecessary parenthesesNathan Chancellor2022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* | | | qcacld-2.0: Convert logical ORs to bitwise ORsNathan Chancellor2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | Fixes Clang warning constant-logical-operand. Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* | | | qcacld-2.0: Fix GCC 7.x warningsDavide Garberi2022-07-27
| | | |
* | | | qcacld-2.0: Disable spammy enum-conversion warningsSubhajeet Muhuri2022-07-27
| | | | | | | | | | | | | | | | This driver is just bleh :/
* | | | qcacld-2.0: suppress bogus clang shift warningsGreg Hackmann2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the comment in regdomain.h notes, the shifts in the BM() macro are all properly range-checked, so the behavior is always defined. Silence these warnings to keep them from flooding the build log. Change-Id: I85ceb24e66bf281883104d47dcfa23765a32840c Signed-off-by: Greg Hackmann <ghackmann@google.com> Signed-off-by: mydongistiny <jaysonedson@gmail.com>
* | | | qcacld-2.0: Disable CONFIG_WLAN_THERMAL_SHUTDOWNIvan Grinko2022-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It enables WLAN_AUTO_SHUTDOWN which causes wifi wakelocks Change-Id: Ib8be3e682a36f11439a6ac4946818f7eb206ff13 Signed-off-by: Ivan Grinko <iivanich@gmail.com> Signed-off-by: Harsh Shandilya <harsh@prjkt.io> Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | qcacld-2.0: Adapt for Kernel buildingDavide Garberi2022-07-27
| | | | | | | | | | | | | | | | Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* | | | Add 'drivers/staging/qcacld-2.0/' from commit ↵Davide Garberi2022-07-27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '43d69d69fd7c83ce47712fb56d902b24ab97888d' git-subtree-dir: drivers/staging/qcacld-2.0 git-subtree-mainline: 63bfcfa9d7f5b16e7d23db79555ef4cfe5234247 git-subtree-split: 43d69d69fd7c83ce47712fb56d902b24ab97888d
| * \ \ \ Merge 5c55277cdefd82fbce437b46a69052577b4e6628 on remote branchLinux Build Service Account2019-08-19
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Change-Id: I01ed0f484c432e9d4d23a902d6f0d62737a38a09
| | * \ \ \ Merge "qcacld-2.0: Fix multiple length definition issue in WLAN FW message" ↵CNSS_WLAN Service2019-08-06
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | into wlan-cld2.driver.lnx.1.0