Commit graph

893,362 commits

Author SHA1 Message Date
qctecmdr
b1189d1d9c Merge "msm: kgsl: Call dma_buf_unmap_attachment() early" 2020-11-02 02:18:44 -08:00
qctecmdr
e350f2d4e0 Merge "f2fs: fix indefinite loop scanning for free nid" 2020-11-02 02:18:44 -08:00
qctecmdr
621f4c9069 Merge "uapi: ipa: Support uc header proc ctx for DSCP insertion" 2020-11-02 02:18:44 -08:00
qctecmdr
bb2468e73f Merge "icnss2: Avoid race between SOC WAKE REQ/RESP" 2020-11-02 02:18:44 -08:00
qctecmdr
e6c07194da Merge "msm: kgsl: Store power_interval_timeout in msec" 2020-11-02 02:18:43 -08:00
qctecmdr
b3a0fafb1c Merge "clk: qcom: Add sync-state callback for clk-aop-qmp" 2020-11-02 02:18:43 -08:00
Taniya Das
2cc43ca942 clk: qcom: gdsc-regulator: Extend the support for ACD reset
In the case where the SW reset requires an additional ACD block reset or
misc reset, the support is added for the same.

Change-Id: I29b69f2a4ccc33a896ec8e201cbe761cca6800ea
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2020-11-02 15:36:40 +05:30
Jeehong Kim
a10e83bb35 ANDROID: ABI: update allowed list for galaxy
Leaf changes summary: 10 artifacts changed
 Changed leaf types summary: 0 leaf type changed
 Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 9 Added functions
 Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

 9 Added functions:

   [A] 'function char* kstrdup_quotable(const char*, gfp_t)'
   [A] 'function void netdev_state_change(net_device*)'
   [A] 'function int param_get_uint(char*, const kernel_param*)'
   [A] 'function int public_key_verify_signature(const public_key*, const public_key_signature*)'
   [A] 'function void tty_encode_baud_rate(tty_struct*, speed_t, speed_t)'
   [A] 'function int tty_termios_hw_change(const ktermios*, const ktermios*)'
   [A] 'function void usbnet_cdc_unbind(usbnet*, usb_interface*)'
   [A] 'function void usbnet_device_suggests_idle(usbnet*)'
   [A] 'function int usbnet_generic_cdc_bind(usbnet*, usb_interface*)'

 1 Added variable:

   [A] 'const ipv6_stub* ipv6_stub'

Bug: 171954519

Signed-off-by: Jeehong Kim <jhez.kim@samsung.com>
Change-Id: I9066e222d3e30a9434d36c22e4e77159bd57a347
2020-11-02 16:55:00 +09:00
Wenjun Zhang
85cee8cd34 drm/bridge: lt9611uxc: add hpd support for lt9611uxc
When HDMI cable was pluged in/out, it could trigger an irq,
MSM can get HPD status from LT9611, and report the HPD status
using kernel uevent to userspace.

Change-Id: I47c148d92e877a80147ee81498513ead0e4afcf0
Signed-off-by: Wenjun Zhang <wjzhan@codeaurora.org>
2020-11-01 23:16:16 -08:00
Can Guo
6919f81092 mmc: core: Init mmc host clock scaling suspend state
We track the mmc clock scaling state using mmc host's flag is_suspended.
During the first SD card removal event, the mmc driver suspends the clock
scaling to cancel any pending scaling work; however, the is_suspended flag
value remains set to TRUE. When the SD card is inserted and removed again,
the mmc shall not suspend the clock scaling because the is_suspended flag
is set to TRUE.
Resetting the mmc host clock scaling's is_suspended to FALSE during the
clock scaling initialization to ensure that the driver suspend the clock
scaling properly for subsequent card removal events.

Change-Id: If8bc6c3f4a545900dd1d783d2cfdf2bfd164073d
Signed-off-by: Can Guo <cang@codeaurora.org>
2020-11-02 14:36:09 +08:00
Chandana Kishori Chiluveru
fbf383ace3 usb: gadget: configfs: Correct usb functions order for UDC gadget bind
During multiple adb reboots test case, adbd is taking time to start
and write the descriptors from the userspace. If adb is their in the
composition and its not ready when bind happens, UDC bind for ffs will
fail and adding the function back to the func_list in failure path and
calling purge_configs_funcs.

In purge_func adb driver unbind the functions from config->functions list
and add back to the tail of the func_list. With this order of the functions
in func_list got changed and next time when bind happens from adbd start
usb does not working.

Fix this issue by changing the order of the functions while adding the
functions back to the list in purge_configs_funcs.

Change-Id: I50c2362062130836d66edfcf8e1f020134248cb4
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2020-11-01 21:12:07 -08:00
Karthik Poosa
33d50bb739 NFC: Add fix for CTS issue of IPC log file creation failed
Checking IPC log handle during usage rather than after creation.
This is because IPC logging is not available with boot image of
of GKI.

Change-Id: I81f4d5910bf721fd94f5858a2b7aba675a7be931
Signed-off-by: Karthik Poosa <kpoosa2@codeaurora.org>
2020-11-02 10:01:39 +05:30
qctecmdr
4059648ed9 Merge "coresight: tmc: Configure cti trigger number in device tree" 2020-11-01 20:06:46 -08:00
qctecmdr
878a2ef45f Merge "coresight: tmc: fix spinlock bad magic/usb_qdss_close" 2020-11-01 20:06:46 -08:00
qctecmdr
3064610aa0 Merge "soc/qcom/hyp_core_ctl: Track VPM Group state for VM" 2020-11-01 20:06:45 -08:00
qctecmdr
8efb1e6396 Merge "qbt_handler: Memset userspace struct to zero" 2020-11-01 20:06:45 -08:00
Fenglin Wu
12c83e632f input: qcom-hv-haptics: add support to operate from non-HBoost regulator
By default, haptics module is supplied from HBoost module and it
talks to HBoost module in hardware to get an appropriate operating
voltage. Haptics module can also be supplied from non-HBoost regulator
and it requires software to request the voltage.

Add support to operate haptics under a fixed voltage from a non-HBoost
regulator. Make the following modifications:
  1) Set voltage and enable the regulator before enabling the play.
  2) Force VREG_RDY signal in haptics module before enabling the play.
  3) Scale the DIRECT_PLAY amplitude to achieve appropriate output
     voltage in constant playing.
  4) Scale the DIRECT_PLAY amplitude instead of Vmax setting for
     gain setting in constant playing.
  5) Adjust the LRA impedance detectability according to the regulator
     output voltage.

Change-Id: If832b6512d7641ad3d271bb68f4bdb7dbb90a5c5
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2020-11-02 10:16:31 +08:00
Fenglin Wu
20a1939587 input: qcom-hv-haptics: switch API to trigger PBS for ISC configuration
SW trigger for PBS to configure ISC in LRA detection doesn't need to
pass any parameter or wait on any condition including checking status.
Hence switch using qpnp_pbs_trigger_single_event() instead of
qpnp_pbs_trigger_event() to trigger PBS.

Change-Id: I8b252e293265994976924435f8a6a11d9b463119
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2020-11-02 09:50:43 +08:00
Fenglin Wu
1d2e35e74e soc: qcom: qpnp-pbs: add an API to trigger single PBS event
A simple PBS can be triggered by SW writing to SW_TRIGGER (bit 7) in
TRIG_CTL register without passing any parameters through SCRATCH1
register and not waiting on any condition. Also, this simple PBS is more
like a fire and forget and doesn't even need to check on the status
through SCRATCH2 register. Add support for this simple PBS through an
API qpnp_pbs_trigger_single_event().

Change-Id: I8a6448f9be8f84269c6ba5672bead01a152185ad
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2020-11-02 09:50:31 +08:00
Greg Kroah-Hartman
ea5b4af68f ANDROID: Update the KMI_GENERATION after KMI changes on October 31
The KMI was changed by several patches on October 31.  Update the
generation number to notify all tools of this.

Bug: 161946584
Cc: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5d96ec5e4fe3ead9aedf19bdedf731b3ee28746a
2020-10-31 12:37:57 +01:00
Greg Kroah-Hartman
40799f06ce ANDROID: Input: bump SW_MAX up to 0x3f
Bump the userspace-facing value of SW_MAX from 0x10 to 0x3f, allowing
out-of-tree input drivers to use the increased space to send input codes
to userspace safely.

Note, there are no new reserved input code values, so any out-of-tree
numbers are not guaranteed to ever remain stable over time, but this
allows those drivers to work properly before they get merged upstream to
claim a reserved number.

Be aware that if you use this increased numberspace, your values will
change going forward to new Android and kernel versions, you have been
warned.

This gives us the free-space for 0x2f new values, which should be enough
for a few years grace-period :)

This changes the CRC of a number of functions, but no variable sizes
have changed:

Leaf changes summary: 36 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 36 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

36 functions with some sub-type change:

  [C] 'function cec_adapter* cec_allocate_adapter(const cec_adap_ops*, void*, const char*, u32, u8)' at cec-core.c:253:1 has some sub-type changes:
  [C] 'function void cec_delete_adapter(cec_adapter*)' at cec-core.c:431:1 has some sub-type changes:
  [C] 'function void cec_received_msg_ts(cec_adapter*, cec_msg*, ktime_t)' at cec-adap.c:1036:1 has some sub-type changes:
  [C] 'function int cec_register_adapter(cec_adapter*, device*)' at cec-core.c:342:1 has some sub-type changes:
  [C] 'function void cec_s_phys_addr(cec_adapter*, unsigned short int, bool)' at cec.h:279:1 has some sub-type changes:
  [C] 'function void cec_s_phys_addr_from_edid(cec_adapter*, const edid*)' at cec-adap.c:1616:1 has some sub-type changes:
  [C] 'function void cec_transmit_attempt_done_ts(cec_adapter*, u8, ktime_t)' at cec-adap.c:688:1 has some sub-type changes:
  [C] 'function void cec_transmit_done_ts(cec_adapter*, u8, u8, u8, u8, u8, ktime_t)' at cec-adap.c:591:1 has some sub-type changes:
  [C] 'function void cec_unregister_adapter(cec_adapter*)' at cec-core.c:412:1 has some sub-type changes:
  [C] 'function input_dev* devm_input_allocate_device(device*)' at input.h:352:1 has some sub-type changes:
  [C] 'function void input_alloc_absinfo(input_dev*)' at input.h:466:1 has some sub-type changes:
  [C] 'function input_dev* input_allocate_device()' at input.h:351:1 has some sub-type changes:
  [C] 'function void input_close_device(input_handle*)' at input.h:404:1 has some sub-type changes:
  [C] 'function void input_event(input_dev*, unsigned int, unsigned int, int)' at input.h:411:1 has some sub-type changes:
  [C] 'function int input_ff_create(input_dev*, unsigned int)' at input.h:555:1 has some sub-type changes:
  [C] 'function int input_ff_create_memless(input_dev*, void*, int (input_dev*, void*, ff_effect*)*)' at input.h:564:1 has some sub-type changes:
  [C] 'function void input_ff_destroy(input_dev*)' at input.h:556:1 has some sub-type changes:
  [C] 'function void input_free_device(input_dev*)' at input.h:353:1 has some sub-type changes:
  [C] 'function void input_mt_destroy_slots(input_dev*)' at mt.h:78:1 has some sub-type changes:
  [C] 'function int input_mt_get_slot_by_key(input_dev*, int)' at mt.h:122:1 has some sub-type changes:
  [C] 'function int input_mt_init_slots(input_dev*, unsigned int, unsigned int)' at mt.h:76:1 has some sub-type changes:
  [C] 'function void input_mt_report_pointer_emulation(input_dev*, bool)' at mt.h:104:1 has some sub-type changes:
  [C] 'function bool input_mt_report_slot_state(input_dev*, unsigned int, bool)' at mt.h💯1 has some sub-type changes:
  [C] 'function void input_mt_sync_frame(input_dev*)' at mt.h:107:1 has some sub-type changes:
  [C] 'function int input_open_device(input_handle*)' at input.h:403:1 has some sub-type changes:
  [C] 'function int input_register_device(input_dev*)' at input.h:376:1 has some sub-type changes:
  [C] 'function int input_register_handle(input_handle*)' at input.h:397:1 has some sub-type changes:
  [C] 'function int input_register_handler(input_handler*)' at input.h:387:1 has some sub-type changes:
  [C] 'function void input_set_abs_params(input_dev*, unsigned int, int, int, int, int)' at input.h:467:1 has some sub-type changes:
  [C] 'function void input_set_capability(input_dev*, unsigned int, unsigned int)' at input.h:449:1 has some sub-type changes:
  [C] 'function void input_unregister_device(input_dev*)' at input.h:377:1 has some sub-type changes:
  [C] 'function void input_unregister_handle(input_handle*)' at input.h:398:1 has some sub-type changes:
  [C] 'function void input_unregister_handler(input_handler*)' at input.h:388:1 has some sub-type changes:
  [C] 'function int snd_jack_new(snd_card*, const char*, int, snd_jack**, bool, bool)' at jack.c:198:1 has some sub-type changes:
  [C] 'function void snd_jack_report(snd_jack*, int)' at jack.c:340:1 has some sub-type changes:
  [C] 'function int snd_jack_set_key(snd_jack*, snd_jack_types, int)' at jack.c:317:1 has some sub-type changes:

Bug: 170534200
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I28c8b49ac37f42d3ff89554e18fe042a44f5704a
2020-10-31 12:21:18 +01:00
Greg Kroah-Hartman
d1f4f1327d ANDROID: GKI: ABI update for Oct 31 KABI break
Leaf changes summary: 3380 artifacts changed (154 filtered out)
Changed leaf types summary: 282 (120 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 3052 Changed (32 filtered out), 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 46 Changed (2 filtered out), 0 Added variable

3052 functions with some sub-type change:
46 Changed variables:
'struct dentry_operations at dcache.h:139:1' changed:
  type size hasn't changed
  1 data member insertion:
    'void (const path*, path*)* dentry_operations::d_canonical_path', at offset 832 (in bits) at dcache.h:154:1
  there are data member changes:
    'u64 dentry_operations::android_kabi_reserved1' offset changed from 832 to 896 (in bits) (by +64 bits)
    'u64 dentry_operations::android_kabi_reserved2' offset changed from 896 to 960 (in bits) (by +64 bits)
    'u64 dentry_operations::android_kabi_reserved3' offset changed from 960 to 1024 (in bits) (by +64 bits)
    'u64 dentry_operations::android_kabi_reserved4' offset changed from 1024 to 1088 (in bits) (by +64 bits)
  3330 impacted interfaces

'struct inet_connection_sock at inet_connection_sock.h:87:1' changed (indirectly):
  type size changed from 11840 to 11904 (in bits)
  there are data member changes:
    type 'struct inet_sock' of 'inet_connection_sock::icsk_inet' changed:
      type size changed from 8320 to 8384 (in bits)
      there are data member changes:
        type 'struct sock' of 'inet_sock::sk' changed:
          type size changed from 6656 to 6720 (in bits)
          1 data member insertion:
            'u64 sock::android_vendor_data1', at offset 6656 (in bits) at sock.h:526:1
          422 impacted interfaces
        'ipv6_pinfo* inet_sock::pinet6' offset changed from 6656 to 6720 (in bits) (by +64 bits)
        '__be32 inet_sock::inet_saddr' offset changed from 6720 to 6784 (in bits) (by +64 bits)
        '__s16 inet_sock::uc_ttl' offset changed from 6752 to 6816 (in bits) (by +64 bits)
        '__u16 inet_sock::cmsg_flags' offset changed from 6768 to 6832 (in bits) (by +64 bits)
        '__be16 inet_sock::inet_sport' offset changed from 6784 to 6848 (in bits) (by +64 bits)
        '__u16 inet_sock::inet_id' offset changed from 6800 to 6864 (in bits) (by +64 bits)
        'ip_options_rcu* inet_sock::inet_opt' offset changed from 6848 to 6912 (in bits) (by +64 bits)
        'int inet_sock::rx_dst_ifindex' offset changed from 6912 to 6976 (in bits) (by +64 bits)
        '__u8 inet_sock::tos' offset changed from 6944 to 7008 (in bits) (by +64 bits)
        '__u8 inet_sock::min_ttl' offset changed from 6952 to 7016 (in bits) (by +64 bits)
        '__u8 inet_sock::mc_ttl' offset changed from 6960 to 7024 (in bits) (by +64 bits)
        '__u8 inet_sock::pmtudisc' offset changed from 6968 to 7032 (in bits) (by +64 bits)
        '__u8 inet_sock::nodefrag' offset changed from 6976 to 7040 (in bits) (by +64 bits)
        '__u8 inet_sock::rcv_tos' offset changed from 6992 to 7056 (in bits) (by +64 bits)
        '__u8 inet_sock::convert_csum' offset changed from 7000 to 7064 (in bits) (by +64 bits)
        'int inet_sock::uc_index' offset changed from 7008 to 7072 (in bits) (by +64 bits)
        'int inet_sock::mc_index' offset changed from 7040 to 7104 (in bits) (by +64 bits)
        '__be32 inet_sock::mc_addr' offset changed from 7072 to 7136 (in bits) (by +64 bits)
        'ip_mc_socklist* inet_sock::mc_list' offset changed from 7104 to 7168 (in bits) (by +64 bits)
        'inet_cork_full inet_sock::cork' offset changed from 7168 to 7232 (in bits) (by +64 bits)
      2 impacted interfaces
    'request_sock_queue inet_connection_sock::icsk_accept_queue' offset changed from 8320 to 8384 (in bits) (by +64 bits)
    'inet_bind_bucket* inet_connection_sock::icsk_bind_hash' offset changed from 8960 to 9024 (in bits) (by +64 bits)
    'unsigned long int inet_connection_sock::icsk_timeout' offset changed from 9024 to 9088 (in bits) (by +64 bits)
    'timer_list inet_connection_sock::icsk_retransmit_timer' offset changed from 9088 to 9152 (in bits) (by +64 bits)
    'timer_list inet_connection_sock::icsk_delack_timer' offset changed from 9536 to 9600 (in bits) (by +64 bits)
    '__u32 inet_connection_sock::icsk_rto' offset changed from 9984 to 10048 (in bits) (by +64 bits)
    '__u32 inet_connection_sock::icsk_pmtu_cookie' offset changed from 10016 to 10080 (in bits) (by +64 bits)
    'const tcp_congestion_ops* inet_connection_sock::icsk_ca_ops' offset changed from 10048 to 10112 (in bits) (by +64 bits)
    'const inet_connection_sock_af_ops* inet_connection_sock::icsk_af_ops' offset changed from 10112 to 10176 (in bits) (by +64 bits)
    'const tcp_ulp_ops* inet_connection_sock::icsk_ulp_ops' offset changed from 10176 to 10240 (in bits) (by +64 bits)
    'void* inet_connection_sock::icsk_ulp_data' offset changed from 10240 to 10304 (in bits) (by +64 bits)
    'void (sock*, typedef u32)* inet_connection_sock::icsk_clean_acked' offset changed from 10304 to 10368 (in bits) (by +64 bits)
    'hlist_node inet_connection_sock::icsk_listen_portaddr_node' offset changed from 10368 to 10432 (in bits) (by +64 bits)
    'unsigned int (sock*, typedef u32)* inet_connection_sock::icsk_sync_mss' offset changed from 10496 to 10560 (in bits) (by +64 bits)
    '__u8 inet_connection_sock::icsk_ca_dst_locked' offset changed from 10560 to 10624 (in bits) (by +64 bits)
    '__u8 inet_connection_sock::icsk_retransmits' offset changed from 10568 to 10632 (in bits) (by +64 bits)
    '__u8 inet_connection_sock::icsk_pending' offset changed from 10576 to 10640 (in bits) (by +64 bits)
    '__u8 inet_connection_sock::icsk_backoff' offset changed from 10584 to 10648 (in bits) (by +64 bits)
    '__u8 inet_connection_sock::icsk_syn_retries' offset changed from 10592 to 10656 (in bits) (by +64 bits)
    '__u8 inet_connection_sock::icsk_probes_out' offset changed from 10600 to 10664 (in bits) (by +64 bits)
    '__u16 inet_connection_sock::icsk_ext_hdr_len' offset changed from 10608 to 10672 (in bits) (by +64 bits)
    'struct {__u8 pending; __u8 quick; __u8 pingpong; __u8 blocked; __u32 ato; unsigned long int timeout; __u32 lrcvtime; __u16 last_seg_size; __u16 rcv_mss;} inet_connection_sock::icsk_ack' offset changed from 10624 to 10688 (in bits) (by +64 bits)
    'struct {int enabled; int search_high; int search_low; int probe_size; u32 probe_timestamp;} inet_connection_sock::icsk_mtup' offset changed from 10816 to 10880 (in bits) (by +64 bits)
    'u32 inet_connection_sock::icsk_user_timeout' offset changed from 10976 to 11040 (in bits) (by +64 bits)
    'u64 inet_connection_sock::icsk_ca_priv[13]' offset changed from 11008 to 11072 (in bits) (by +64 bits)
  2 impacted interfaces

'struct module at module.h:354:1' changed:
  type size hasn't changed
  1 data member insertion:
    'bool module::using_gplonly_symbols', at offset 2688 (in bits) at module.h:385:1
  there are data member changes:
    anonymous data member union {module_kabi_preserve_1 m1; struct {u64 android_kabi_reserved1;} __UNIQUE_ID_android_kabi_hide201; union {};} at offset 6848 (in bits) became data member 'u64 module::android_kabi_reserved1'
    'bool module::sig_ok' offset changed from 2688 to 2696 (in bits) (by +8 bits)
    'bool module::async_probe_requested' offset changed from 2696 to 2704 (in bits) (by +8 bits)
  3330 impacted interfaces

'struct nf_conn at nf_conntrack.h:58:1' changed:
  type size changed from 2048 to 2240 (in bits)
  3 data member insertions:
    'u64 nf_conn::android_kabi_reserved1', at offset 2048 (in bits) at nf_conntrack.h:111:1
    'u64 nf_conn::android_kabi_reserved2', at offset 2112 (in bits) at nf_conntrack.h:112:1
    'u64 nf_conn::android_vendor_data1', at offset 2176 (in bits) at nf_conntrack.h:114:1
  422 impacted interfaces

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iec13bb17711b4337d6810b6eac45f755497c6ed8
2020-10-31 09:36:21 +01:00
Greg Kroah-Hartman
95dc566101 ANDROID: GKI: add Android ABI padding to struct nf_conn
Try to mitigate potential future driver core api changes by adding
padding to struct nf_conn;

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib18a9a929d351c66556f1f27b217cbf22b733a10
2020-10-31 09:30:20 +01:00
Greg Kroah-Hartman
0709341102 ANDROID: GKI: add vendor padding variable in struct skb_shared_info
Some vendors want to add things to 'struct skb_shared_info', so give
them an array to place their data.

Bug: 171013716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ifaa5942550794b747e9624124c785a0bc85dfe17
2020-10-31 09:30:20 +01:00
Mike Tipton
6496560601 interconnect: qcom: sdxlemur: Set keepalive for important BCMs
Set keepalive for important BCMs that can never be allowed to turn off
while HLOS is active.

Change-Id: I211e2ae0c8d751fd8213cc6b32b789d7991b0367
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-10-30 12:31:49 -07:00
Manikandan Mohan
e5a15f51f2 cnss2: Overload QDSS trace save indication for generic mem dump
QDSS trace save QMI indication will be used by FW to dump any type
of host allocated DDR remote memory. Update QDSS trace save indication
handler for saving different memory types.

Change-Id: I0e78e2f6de367a500e78622e841e0cdf0f4170e5
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
2020-10-30 10:29:36 -07:00
Deepak Kumar
7b9fd1956e msm: kgsl: Don't skip gmufw preallocations during firmware read
In scenario where GMU request firmware succeeded but preallocation
failed, a6xx_gmu_load_firmware returns error but during next open
call it return success only based on whether request_firmware was
successful or not. This results in issue during GMU start while
copying firmware to respective GMU memory blocks as some of the
memory blocks were not allocated.

Update the check in a6xx_gmu_load_firmware to ensure only request
firmware is skipped if it passed earlier.

Change-Id: I92920215aa9f47726c4470968ca804e1cee13468
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Signed-off-by: Pranav Patel <pranavp@codeaurora.org>
2020-10-30 21:45:19 +05:30
Hareesh Gundu
a545441b50 msm: kgsl: Add support for voting vdd parent supply voltage
For RPM based targets which have the dedicated GFX rails
requires voting of vdd parent supply. Hence add support
to vote for vdd parent supply.

Change-Id: I3301b9b5f07d8e928a64b7013ec40b7c54e596ca
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2020-10-30 20:58:48 +05:30
Pradeep P V K
c807ca798f mtd: msm_qpic_nand: Add a check to read an ONFI parameter page
Add support to read an ONFI parameter page from the device on
QPIC 2.0 controllers.

Change-Id: I30e8696c17733dc745c6857c0dcb436764f229e2
Signed-off-by: Pradeep P V K <ppvk@codeaurora.org>
2020-10-30 07:47:40 -07:00
Ritesh Kumar
88af9a72fe input: touchscreen: focaltech: toggle reset gpio during error
Toggle reset gpio of touch controller during an error scenario
on Secondary Virtual Machine(SVM).

Change-Id: Id5fdbb8e0106e636676060edfb05b6219f7400c8
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2020-10-30 06:01:27 -07:00
Ritesh Kumar
6aca8a8c07 input: touchscreen: focaltech: TUI error handling state machine
Introduce state machine for various checkpoints in trusted touch
usecase. In error scenarios, this state machine helps driver to
rollback to previous state.

Change-Id: Ia9f9e01905b5d1561dd21ea782cf9f09001d35a7
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2020-10-30 06:01:13 -07:00
Sarthak Garg
9c6d556e10 mmc: core: Fix clk scaling deadlock with irqsave
Consider the following dump stack :

do_raw_spin_lock+0xf0
_raw_spin_lock_irqsave+0x80
mmc_request_done+0x48
sdhci_irq+0x954
__handle_irq_event_percpu+0x9c
handle_irq_event+0x60
handle_fasteoi_irq+0x140
__handle_domain_irq+0xc0
gic_handle_irq+0xcc
el1_irq+0x108
ktime_get+0xc0
mmc_cqe_clk_scaling_stop_busy+0x58
mmc_blk_cqe_complete_rq+0x138
mmc_blk_mq_complete+0x24
blk_done_softirq+0xe0

Here mmc_cqe_clk_scaling_stop_busy is being called from the soft irq
context and it acquires the clock_scaling lock.
Before it could unlock, a H/W irq gets triggered on the same core which
switches the context and starts execution but since lock is already held
in the softirq context, irq context ends up waiting for the same lock,
leading to a deadlock.

Use spin_lock_irqsave to avoid above explained deadlock.

Change-Id: I7684f4e349648414038cd6601cca58ac11b9409b
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
2020-10-30 18:10:53 +05:30
Manaf Meethalavalappu Pallikunhi
e831c3aa53 arm: defconfig: Enable TSENS driver for sdxlemur
Enable TSENS device driver for sdxlemur to monitor
different junction temperatures.

Change-Id: I2d130d3b4c9fe6f506e2704e67f9ba91a6f14d84
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2020-10-30 15:56:33 +05:30
Greg Kroah-Hartman
01435b2e91 ANDROID: GKI: net: add vendor hooks for 'struct nf_conn' lifecycle
Some vendors want to add a field when a 'sruct nf_conn' is added so give a
hook to handle this.  Any memory allocated when
trace_android_rvh_nf_conn_alloc() is called needs to be freed when
trace_android_rvh_nf_conn_free() is called.

Note, if trace_android_rvh_nf_conn_alloc() fails, be sure to be able to
handle this in trace_android_rvh_nf_conn_free(), but that should not be
an issue as that needs to be addressed in vendor code that runs for
'struct nf_conn' objects that have been created before the vendor code
is loaded no matter what.

Bug: 171013716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I67a9be129150690f8c1961accf7d5cdf0d5d50cc
2020-10-30 10:02:26 +01:00
Greg Kroah-Hartman
0bc7257c7f ANDROID: GKI: add vendor padding variable in struct nf_conn
Some vendors want to add things to 'struct nf_conn', so give them a u64
where they can then have a pointer off to their private data and they
can do whatever they want to do without breaking or changing any abi for
anyone else.

Note, usually an android trace hook is also needed to use this properly,
so be aware that this will be required as well.

Bug: 171013716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I303d237116f2f1ef6035af98f00436278ec1c23b
2020-10-30 10:02:26 +01:00
Greg Kroah-Hartman
20dd49792a ANDROID: GKI: net: add vendor hooks for 'struct sock' lifecycle
Some vendors want to add a field when a 'sruct sock' is added so give a
hook to handle this.  Any memory allocated when
trace_android_rvh_sk_alloc() is called needs to be freed when
trace_android_rvh_sk_free() is called.

Note, if trace_android_rvh_sk_alloc() fails, be sure to be able to
handle this in trace_android_rvh_sk_free(), but that should not be an
issue as that needs to be addressed in vendor code that runs for 'struct
sock' objects that have been created before the vendor code is loaded no
matter what.

Bug: 171013716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9ed93e8bffef3cd8fbde4d62fc14596764a85304
2020-10-30 10:02:26 +01:00
Greg Kroah-Hartman
b3d5bbd878 ANDROID: GKI: add vendor padding variable in struct sock
Some vendors want to add things to 'struct sock', so give them a u64
where they can then have a pointer off to their private data and they
can do whatever they want to do without breaking or changing any abi for
anyone else.

Note, usually an android trace hook is also needed to use this properly,
so be aware that this will be required as well.

Bug: 171013716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8fdea13b185fba26010e2a2bf397d7982a8fa16e
2020-10-30 10:02:26 +01:00
Daniel Rosenberg
24ab59f6bb ANDROID: fuse: Add support for d_canonical_path
Allows FUSE to report to inotify that it is acting
as a layered filesystem. The userspace component
returns a string representing the location of the
underlying file. If the string cannot be resolved
into a path, the top level path is returned instead.

Bug: 23904372
Bug: 171780975
Test: inotify on cuttlefish
Change-Id: Iabdca0bbedfbff59e9c820c58636a68ef9683d9f
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Alessio Balsini <balsini@google.com>
2020-10-30 10:02:26 +01:00
Alessio Balsini
854f380681 ANDROID: vfs: add d_canonical_path for stacked filesystem support
Inotify does not currently know when a filesystem
is acting as a wrapper around another fs. This means
that inotify watchers will miss any modifications to
the base file, as well as any made in a separate
stacked fs that points to the same file.
d_canonical_path solves this problem by allowing the fs
to map a dentry to a path in the lower fs. Inotify
can use it to find the appropriate place to watch to
be informed of all changes to a file.

Test: HiKey/X15 + Pie + android-mainline,
      and HiKey + AOSP Maser + android-mainline,
      directories under /sdcard created,
      output of mount is right,
      CTS test collecting device infor works

Bug: 171780975
Change-Id: I09563baffad1711a045e45c1bd0bd8713c2cc0b6
Signed-off-by: Daniel Rosenberg <drosen@google.com>
[astrachan: Folded 34df4102216e ("ANDROID: fsnotify: Notify lower fs of
            open") into this patch]
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
Signed-off-by: Alessio Balsini <balsini@google.com>
2020-10-30 10:02:25 +01:00
Eric Biggers
aa445f97a0 ANDROID: fscrypt: prevent fscrypt_operations from affecting KMI
'struct fscrypt_operations' is only used by fs/crypto/ (which is always
built-in) and by three filesystems (which are either built-in to GKI, in
the case of ext4 and f2fs, or aren't supported by Android, in the case
of ubifs).  The only way a loadable module could use fscrypt_operations
is if the module were a filesystem that used fs/crypto/, which isn't
possible since KMI symbol list doesn't include anything in fs/crypto/.

However, any change to struct fscrypt_operations changes the symbol CRC
of most of the KMI functions exported by any files fs/*.c that include
<linux/fscrypt.h>.  This is because the definition of fscrypt_operations
is visible to them, and in principle it's possible to get to
fscrypt_operations from most VFS structs (e.g. inode->i_sb->s_cop), even
though there's no reason to do so outside the crypto code.

Work around this by putting the definition of struct fscrypt_operations
behind #ifdef FSCRYPT_NEED_OPS, and only defining this in the files that
actually need the definition.  (It could be moved into a separate header
instead, but this way keeps the diff from upstream smaller.)

This will cause a one-time CRC change of all the affected KMI functions,
but afterwards any changes to fscrypt_operations won't "break the KMI".

Bug: 170265596
Test: re-generated the ABI, changed struct fscrypt_operations (and
      struct fscrypt_info as well, just in case), re-generated the ABI
      again, and verified it didn't change.
Change-Id: Ib5dd49550aec81a64b3d6077a0aeb5747be908ff
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-10-30 10:02:25 +01:00
Greg Kroah-Hartman
d2a52d0eaa Revert "ANDROID: GKI: fix ABI breakage in module.h"
This reverts commit db96212bde as it is
not needed if we are able to update the Android KABI.

Fixes: db96212bde ("ANDROID: GKI: fix ABI breakage in module.h")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic6f4f449e554240457e1f94c49b53fa158f0d00e
2020-10-30 10:02:25 +01:00
Sayali Lokhande
804e7d5baa defconfig: holi: Enable Incremental FS as module
This change enables Incremental FS as module for holi.

Change-Id: Ie18a8877ed601197312adc3b6782d0b0e1f663d8
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2020-10-30 14:07:49 +05:30
qctecmdr
c19cc3d79e Merge "kernel: arch: Enable qcedev as gki module" 2020-10-30 01:02:18 -07:00
qctecmdr
1e8e6c8d2b Merge "icnss2: Send power save enter/exit via SMP2P" 2020-10-30 01:02:18 -07:00
qctecmdr
6665615cc3 Merge "msm: kgsl: Disable gpu_llc flags by default" 2020-10-30 01:02:18 -07:00
qctecmdr
43626c0ab3 Merge "f2fs: Fix double free issue for s_encoding" 2020-10-30 01:02:17 -07:00
Sandeep Singh
cdcd29a2ca cnss-utils: Compile firmware service file independently
Wlan firmware service file need to compile independently and
linked to other modules to avoid error of compiling same file
twice.

Change-Id: If1be682d2ef21bd3a7839a9257d73479e437b7c0
Signed-off-by: Sandeep Singh <sandsing@codeaurora.org>
2020-10-30 13:07:11 +05:30
Maria Yu
9af2c23239 cpufreq: schedutil: Queue sugov irq work on policy online cpu
Got never update frequency if scheduled the irq
work on an offlined cpu and it will always pending.
Queue sugov irq work on any online cpu if current
cpu is offline.

Change-Id: I33fc691917b5866488b6aeb11ed902a2753130b2
Signed-off-by: Maria Yu <aiquny@codeaurora.org>
[clingutla@codeaurora.org: Moved 'walt_irq_work_queue' to 'sched.h'
 for multiple callers]
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
2020-10-30 12:44:28 +05:30
Naman Padhiar
4ea02373bc icnss2: Avoid race between SOC WAKE REQ/RESP
There is a race between soc wake release in event queue
and soc wake request called from driver. Due to which
ref count is not updated properly and results in number
of soc wake release send to FW is more than number of
soc wake request. Fix it by atomically incrementing
ref count.

Change-Id: I1e134af8a1170d804aeaea53ea6bd288bbcb42b8
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
2020-10-29 21:28:47 -07:00
Mahesh Kumar Sharma
0630ffe224 Bluetooth: Don't reserve TCS register address
Do not reserve TCS iomemory, Access TCS register
and remap it using devm_ioremap.

Change-Id: I21fef89af38ec3a5ad110947c1a5adf590c4f2d6
Signed-off-by: Mahesh Kumar Sharma <smahesh@codeaurora.org>
2020-10-29 20:39:07 -07:00