From ed493d61fe41d7079e99f1732af9168e7acf4407 Mon Sep 17 00:00:00 2001 From: Fengnan Chang Date: Tue, 12 Oct 2021 20:30:45 +0800 Subject: [PATCH 01/16] FROMGIT: f2fs: fix to use WHINT_MODE Since active_logs can be set to 2 or 4 or NR_CURSEG_PERSIST_TYPE(6), it cannot be set to NR_CURSEG_TYPE(8). That is, whint_mode is always off. Therefore, the condition is changed from NR_CURSEG_TYPE to NR_CURSEG_PERSIST_TYPE. Bug: 202812742 Cc: Chao Yu Fixes: d0b9e42ab615 (f2fs: introduce inmem curseg) Reported-by: tanghuan Signed-off-by: Keoseong Park Signed-off-by: Fengnan Chang Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim (cherry picked from commit 011e0868e0cf1237675b22e36fffa958fb08f46e https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/ dev) Change-Id: Ic2a2b055e1f37f6263d8243527e83fe6bd4f7070 Signed-off-by: Fengnan Chang --- fs/f2fs/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 1539052338b9..5dc856b66714 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1185,7 +1185,7 @@ default_check: /* Not pass down write hints if the number of active logs is lesser * than NR_CURSEG_PERSIST_TYPE. */ - if (F2FS_OPTION(sbi).active_logs != NR_CURSEG_TYPE) + if (F2FS_OPTION(sbi).active_logs != NR_CURSEG_PERSIST_TYPE) F2FS_OPTION(sbi).whint_mode = WHINT_MODE_OFF; if (f2fs_sb_has_readonly(sbi) && !f2fs_readonly(sbi->sb)) { From 0eb2083a6d401cae523ccabb846db829e398b4fa Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Tue, 28 Sep 2021 17:15:59 +0800 Subject: [PATCH 02/16] ANDROID: GKI: rockchip: Enable symbols for dw_8250 Leaf changes summary: 7 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 7 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 7 Added functions: [A] 'function bool of_device_is_big_endian(const device_node*)' [A] 'function void serial8250_clear_and_reinit_fifos(uart_8250_port*)' [A] 'function void serial8250_do_pm(uart_port*, unsigned int, unsigned int)' [A] 'function void serial8250_do_set_divisor(uart_port*, unsigned int, unsigned int, unsigned int)' [A] 'function void serial8250_do_set_ldisc(uart_port*, ktermios*)' [A] 'function int serial8250_handle_irq(uart_port*, unsigned int)' [A] 'function void serial8250_update_uartclk(uart_port*, unsigned int)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I9e8e98a5d9c31eef21899de4eca9fa4a8c8416de --- android/abi_gki_aarch64.xml | 43 ++++++++++++++++++++++++++++++++ android/abi_gki_aarch64_rockchip | 18 ++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 99d3d642cfc0..a72a7d9d6ac4 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -3266,6 +3266,7 @@ + @@ -4248,16 +4249,22 @@ + + + + + + @@ -130663,6 +130670,10 @@ + + + + @@ -135640,6 +135651,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -135658,6 +135691,11 @@ + + + + + @@ -135682,6 +135720,11 @@ + + + + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index b9ba322a6be6..3d5b2d8dc85a 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -537,6 +537,7 @@ sysfs_create_link sysfs_remove_group sysfs_remove_link + system_unbound_wq system_wq __tasklet_schedule thermal_zone_get_zone_by_name @@ -574,6 +575,22 @@ wakeup_source_add __warn_printk +# required by 8250_dw.ko + of_device_is_big_endian + serial8250_clear_and_reinit_fifos + serial8250_do_pm + serial8250_do_set_divisor + serial8250_do_set_ldisc + serial8250_do_set_termios + serial8250_get_port + serial8250_handle_irq + serial8250_register_8250_port + serial8250_resume_port + serial8250_suspend_port + serial8250_unregister_port + serial8250_update_uartclk + tty_termios_baud_rate + # required by act8865-regulator.ko regulator_set_pull_down_regmap @@ -1534,7 +1551,6 @@ sort __sw_hweight32 __sw_hweight8 - system_unbound_wq __vmalloc vm_get_page_prot vm_map_pages From 2b8b5e76c78724d63c6b06a221f83c9e7681d364 Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Mon, 11 Oct 2021 23:50:28 -0600 Subject: [PATCH 03/16] ANDROID: qcom: Add another neighbor related symbol Add neigh_resolve_output which is needed by rmnet modules. Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function int neigh_resolve_output(neighbour*, sk_buff*)' Bug: 202790508 Change-Id: If0227d6563deb72c60e2695b3fa9b3d2a6290485 Signed-off-by: Subash Abhinov Kasiviswanathan --- android/abi_gki_aarch64.xml | 15 ++++++++++++++- android/abi_gki_aarch64_qcom | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index a72a7d9d6ac4..aced67938e14 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -3161,6 +3161,7 @@ + @@ -70388,7 +70389,14 @@ - + + + + + + + + @@ -130133,6 +130141,11 @@ + + + + + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 7877587eee69..65fefcad59f9 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -1482,6 +1482,7 @@ neigh_destroy __neigh_event_send neigh_lookup + neigh_resolve_output neigh_xmit __netdev_alloc_skb netdev_err From db3e01ecf0444a8b4a84e0c15607590ce8cc0b02 Mon Sep 17 00:00:00 2001 From: Stephen Dickey Date: Thu, 14 Oct 2021 14:32:39 -0700 Subject: [PATCH 04/16] ANDROID: cpuhp: pause: reduce running priority pause/resume In order to get a responsive pause operation, the resume/pause_cpus are usually called within a RT task prio. However only the lazy-resume and lazy-pause operations need to happen quickly, the rest can happen at leisure. Running that portion at high priority keeps the cpu away from important tasks. Reduce the priority right after the lazy portion, and restore it before returning, if it was at RT prio. Bug: 203115740 Fixes: 683010f555d8 ("ANDROID: cpu/hotplug: add pause/resume_cpus interface") Change-Id: I1f3394eb9b5fa1876330fef6e25a203da0fde670 Signed-off-by: Stephen Dickey --- kernel/cpu.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/kernel/cpu.c b/kernel/cpu.c index 49d2eea2bd43..7d86553a0c2e 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1136,11 +1136,37 @@ void __wait_drain_rq(struct cpumask *cpus) sched_cpu_drain_rq_wait(cpu); } +/* if rt task, set to cfs and return previous prio */ +static int pause_reduce_prio(void) +{ + int prev_prio = -1; + + if (current->prio < MAX_RT_PRIO) { + struct sched_param param = { .sched_priority = 0 }; + + prev_prio = current->prio; + sched_setscheduler_nocheck(current, SCHED_NORMAL, ¶m); + } + + return prev_prio; +} + +/* if previous prio was set, restore */ +static void pause_restore_prio(int prev_prio) +{ + if (prev_prio >= 0 && prev_prio < MAX_RT_PRIO) { + struct sched_param param = { .sched_priority = MAX_RT_PRIO-1-prev_prio }; + + sched_setscheduler_nocheck(current, SCHED_FIFO, ¶m); + } +} + int pause_cpus(struct cpumask *cpus) { int err = 0; int cpu; u64 start_time = 0; + int prev_prio; start_time = sched_clock(); @@ -1195,6 +1221,8 @@ int pause_cpus(struct cpumask *cpus) goto err_cpu_maps_update; } + prev_prio = pause_reduce_prio(); + /* * Slow path deactivation: * @@ -1238,6 +1266,7 @@ int pause_cpus(struct cpumask *cpus) err_cpus_write_unlock: cpus_write_unlock(); + pause_restore_prio(prev_prio); err_cpu_maps_update: cpu_maps_update_done(); @@ -1252,6 +1281,7 @@ int resume_cpus(struct cpumask *cpus) unsigned int cpu; int err = 0; u64 start_time = 0; + int prev_prio; start_time = sched_clock(); @@ -1282,6 +1312,8 @@ int resume_cpus(struct cpumask *cpus) if (err) goto err_cpu_maps_update; + prev_prio = pause_reduce_prio(); + /* Lazy Resume. Build domains immediately instead of scheduling * a workqueue. This is so that the cpu can pull load when * sent a load balancing kick. @@ -1309,6 +1341,7 @@ int resume_cpus(struct cpumask *cpus) err_cpus_write_unlock: cpus_write_unlock(); + pause_restore_prio(prev_prio); err_cpu_maps_update: cpu_maps_update_done(); From 142d4b0ce255c0faeee56eb76cd789e9ebcd9365 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 14:46:23 +0800 Subject: [PATCH 05/16] ANDROID: GKI: rockchip: Enable symbols for rkisp Leaf changes summary: 3 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 2 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable 2 Added functions: [A] 'function int v4l2_pipeline_pm_get(media_entity*)' [A] 'function void v4l2_pipeline_pm_put(media_entity*)' 1 Added variable: [A] 'const char* v4l2_type_names[15]' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: Ic4b1064d571768add27a55e55111b57c228f89cb Signed-off-by: Greg Kroah-Hartman --- android/abi_gki_aarch64.xml | 37 ++++++++++++----- android/abi_gki_aarch64_rockchip | 69 ++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 11 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index aced67938e14..e48a49f23a5a 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -5285,6 +5285,8 @@ + + @@ -6030,6 +6032,7 @@ + @@ -26019,6 +26022,9 @@ + + + @@ -118286,9 +118292,9 @@ - - - + + + @@ -130683,9 +130689,9 @@ - - - + + + @@ -133578,7 +133584,7 @@ - + @@ -135733,9 +135739,9 @@ - - - + + + @@ -138009,7 +138015,7 @@ - + @@ -141011,6 +141017,14 @@ + + + + + + + + @@ -141056,6 +141070,7 @@ + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 3d5b2d8dc85a..be771ed5d1df 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -1782,6 +1782,75 @@ v4l2_async_notifier_add_subdev v4l2_async_notifier_unregister +# required by video_rkisp.ko + iommu_get_domain_for_dev + __kfifo_out + kmalloc_order_trace + media_device_cleanup + media_device_init + __media_device_register + media_device_unregister + media_graph_walk_cleanup + media_graph_walk_init + media_graph_walk_next + media_graph_walk_start + media_pipeline_start + media_pipeline_stop + __memcpy_fromio + __memcpy_toio + of_property_read_u64 + param_ops_string + param_ops_ullong + PDE_DATA + proc_create_data + remove_proc_entry + v4l2_async_notifier_register + v4l2_ctrl_g_ctrl_int64 + v4l2_device_register + v4l2_device_register_subdev + __v4l2_device_register_subdev_nodes + v4l2_device_unregister + v4l2_device_unregister_subdev + v4l2_event_queue + v4l2_event_subdev_unsubscribe + v4l2_event_subscribe + v4l2_event_unsubscribe + v4l2_fh_open + v4l2_pipeline_link_notify + v4l2_pipeline_pm_get + v4l2_pipeline_pm_put + v4l2_subdev_link_validate + v4l2_type_names + vb2_buffer_done + vb2_dma_contig_memops + vb2_fop_mmap + vb2_fop_poll + vb2_fop_release + vb2_ioctl_create_bufs + vb2_ioctl_dqbuf + vb2_ioctl_expbuf + vb2_ioctl_prepare_buf + vb2_ioctl_qbuf + vb2_ioctl_querybuf + vb2_ioctl_reqbufs + vb2_ioctl_streamoff + vb2_ioctl_streamon + vb2_ops_wait_finish + vb2_ops_wait_prepare + vb2_plane_cookie + vb2_plane_vaddr + vb2_queue_init + vb2_queue_release + vb2_vmalloc_memops + video_devdata + video_device_release_empty + video_ioctl2 + __video_register_device + video_unregister_device + +# required by videobuf2-dma-sg.ko + split_page + # required by zram.ko __alloc_percpu bio_endio From 2cb6fc0554c98b3545d3e41f7dff620f21932dbf Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 15:14:12 +0800 Subject: [PATCH 06/16] ANDROID: GKI: rockchip: Enable symbol for rknpu Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function int drm_gem_handle_delete(drm_file*, u32)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I5e7f791a152a35f651484aedad66751274691658 Signed-off-by: Greg Kroah-Hartman --- android/abi_gki_aarch64.xml | 91 ++++++++++++++++---------------- android/abi_gki_aarch64_rockchip | 19 +++++++ 2 files changed, 64 insertions(+), 46 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index e48a49f23a5a..7803f1b50629 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1916,6 +1916,7 @@ + @@ -70395,14 +70396,7 @@ - - - - - - - - + @@ -113106,49 +113100,49 @@ - - - - + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + @@ -113875,7 +113869,7 @@ - + @@ -116917,8 +116911,8 @@ - - + + @@ -119085,8 +119079,8 @@ - - + + @@ -123771,6 +123765,11 @@ + + + + + @@ -131511,8 +131510,8 @@ - - + + @@ -134387,8 +134386,8 @@ - - + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index be771ed5d1df..21d0f52afd2f 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -1241,6 +1241,25 @@ blocking_notifier_chain_register blocking_notifier_chain_unregister +# required by rknpu.ko + dma_buf_mmap + dma_fence_context_alloc + dma_fence_init + dma_fence_release + dma_fence_signal + drm_gem_create_mmap_offset + drm_gem_dumb_destroy + drm_gem_handle_delete + drm_gem_prime_export + drm_gem_prime_import_dev + drm_gem_vm_open + fd_install + get_unused_fd_flags + of_dma_configure_id + set_user_nice + sync_file_create + vmf_insert_mixed + # required by rockchip-iommu.ko bus_set_iommu device_link_add From c264cbbec4c5f44bd2070c437d7fc7eedd00dda5 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 18 Oct 2021 08:38:03 +0800 Subject: [PATCH 07/16] ANDROID: GKI: rockchip: Remove symbol for slip The slip module is no need in GKI based system, remove it, there is no symbol change in XML. Bug: 194515348 Signed-off-by: Kever Yang Change-Id: Ifed792eae225029acc4f06cc3cde5dc06bd6bde3 --- android/abi_gki_aarch64_rockchip | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 21d0f52afd2f..e32fab0fd8ea 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -1660,26 +1660,6 @@ of_property_read_variable_u8_array platform_device_register_full -# required by slip.ko - alloc_netdev_mqs - consume_skb - dev_close - free_netdev - __netdev_alloc_skb - netif_rx_ni - netif_tx_wake_queue - __rcu_read_lock - __rcu_read_unlock - register_netdevice - rtnl_lock - rtnl_unlock - skb_put - tty_hangup - tty_mode_ioctl - tty_register_ldisc - tty_unregister_ldisc - unregister_netdev - # required by snd-soc-cx2072x.ko __devm_regmap_init regmap_multi_reg_write From 897e5dd0f008818020c5feaf9f0ef59766ee9697 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 18 Oct 2021 08:41:06 +0800 Subject: [PATCH 08/16] ANDROID: GKI: rockchip: Sync symbols Some symbols have become common used after module add or remove, sync them for better add symbols later. Bug: 194515348 Signed-off-by: Kever Yang Change-Id: Ifefdeff20aa2d21d9dac270d7e1038ea2bcd97c4 --- android/abi_gki_aarch64_rockchip | 281 ++++++++++++++++--------------- 1 file changed, 143 insertions(+), 138 deletions(-) diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index e32fab0fd8ea..653e87ed2c3c 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -15,6 +15,7 @@ atomic_notifier_chain_register bdget_disk bdput + __bitmap_set blk_cleanup_queue blk_execute_rq_nowait blk_mq_free_request @@ -35,7 +36,6 @@ blk_rq_unmap_user cancel_delayed_work_sync cancel_work_sync - capable cdev_device_add cdev_device_del cdev_init @@ -52,6 +52,7 @@ clk_enable clk_get __clk_get_name + clk_get_parent clk_get_rate clk_hw_get_name clk_notifier_register @@ -64,6 +65,8 @@ clk_set_rate clk_unprepare clk_unregister + cma_alloc + cma_release compat_ptr_ioctl complete completion_done @@ -96,11 +99,14 @@ __crypto_xor debugfs_create_dir debugfs_create_file + debugfs_create_regset32 debugfs_remove delayed_work_timer_fn del_gendisk + del_timer del_timer_sync destroy_workqueue + dev_driver_string _dev_err dev_err_probe devfreq_recommended_opp @@ -112,7 +118,10 @@ device_get_next_child_node device_initialize device_init_wakeup + device_link_add + device_link_del device_property_present + device_property_read_string device_property_read_u32_array _dev_info devm_add_action @@ -122,9 +131,13 @@ devm_clk_get_optional devm_clk_hw_register devm_clk_register + devm_devfreq_add_device devm_devfreq_event_add_edev + devm_devfreq_register_opp_notifier devm_extcon_dev_allocate devm_extcon_dev_register + devm_extcon_register_notifier + devm_free_irq devm_fwnode_gpiod_get_index devm_gpiod_get devm_gpiod_get_index @@ -137,6 +150,7 @@ devm_kfree devm_kmalloc devm_kmemdup + devm_kstrdup devm_led_classdev_register_ext devm_nvmem_register devm_of_clk_add_hw_provider @@ -173,30 +187,90 @@ _dev_warn disable_irq dma_alloc_attrs + dma_buf_attach + dma_buf_detach dma_buf_export + dma_buf_fd + dma_buf_map_attachment + dma_buf_put + dma_buf_unmap_attachment + dma_buf_vmap + dma_buf_vunmap dma_free_attrs + dma_get_sgtable_attrs dma_heap_add dma_heap_get_name dmam_alloc_attrs + dma_map_page_attrs dma_map_sg_attrs + dmam_free_coherent + dma_mmap_attrs dma_release_channel dma_request_chan dma_set_coherent_mask dma_set_mask dma_sync_sg_for_cpu dma_sync_sg_for_device + dma_sync_single_for_cpu + dma_sync_single_for_device + dma_unmap_page_attrs dma_unmap_sg_attrs down_read down_write driver_unregister drm_add_edid_modes + drm_atomic_helper_connector_destroy_state + drm_atomic_helper_connector_duplicate_state + drm_atomic_helper_connector_reset + drm_compat_ioctl + drm_connector_attach_encoder + drm_connector_cleanup + drm_connector_init drm_connector_update_edid_property + __drm_dbg + drm_detect_hdmi_monitor + drm_dev_alloc + drm_dev_dbg + drm_dev_put + drm_dev_register + drm_dev_unregister drm_display_info_set_bus_formats + __drm_err + drm_gem_dumb_map_offset + drm_gem_handle_create + drm_gem_mmap + drm_gem_mmap_obj + drm_gem_object_free + drm_gem_object_init + drm_gem_object_lookup + drm_gem_object_release + drm_gem_prime_fd_to_handle + drm_gem_prime_handle_to_fd + drm_gem_vm_close drm_get_edid + drm_hdmi_avi_infoframe_from_display_mode + drm_helper_hpd_irq_event + drm_helper_probe_single_connector_modes + drm_ioctl + drm_mode_copy + drm_mode_create + drm_mode_duplicate + drm_mode_probed_add + drm_mode_set_name drm_mode_vrefresh + drm_open + drm_panel_disable + drm_panel_unprepare + drm_poll + drm_prime_gem_destroy + drm_prime_pages_to_sg + drm_prime_sg_to_page_addr_arrays + drm_read + drm_release dummy_irq_chip enable_irq extcon_get_edev_by_phandle + extcon_get_property extcon_get_state extcon_register_notifier extcon_set_state_sync @@ -207,14 +281,22 @@ finish_wait flush_delayed_work flush_work + flush_workqueue fpsimd_context_busy + frame_vector_to_pages __free_pages free_pages fwnode_handle_put fwnode_property_present fwnode_property_read_string fwnode_property_read_u32_array + gcd generic_handle_irq + gen_pool_add_owner + gen_pool_alloc_algo_owner + gen_pool_create + gen_pool_destroy + gen_pool_free_owner get_device gic_nonsecure_priorities gpiochip_add_pin_range @@ -271,6 +353,9 @@ input_ff_create_memless input_register_device input_set_abs_params + iommu_attach_device + iommu_detach_device + iommu_get_domain_for_dev __ioremap iounmap __irq_domain_add @@ -282,17 +367,26 @@ irq_set_chip_data irq_set_irq_type irq_set_irq_wake + is_vmalloc_addr jiffies jiffies_to_msecs kasan_flag_enabled kasprintf kernel_neon_begin kernel_neon_end + __kfifo_alloc + __kfifo_free + __kfifo_in kfree kfree_const __kmalloc kmalloc_caches + kmem_cache_alloc kmem_cache_alloc_trace + kmem_cache_create + kmem_cache_destroy + kmem_cache_free + kmemdup kstrdup_const kstrtoint kstrtouint @@ -313,6 +407,7 @@ __log_read_mmio __log_write_mmio lzo1x_decompress_safe + media_create_pad_link media_entity_pads_init media_entity_remote_pad memcpy @@ -325,11 +420,12 @@ module_put __msecs_to_jiffies msleep - msleep_interruptible __mutex_init + mutex_is_locked mutex_lock mutex_unlock no_llseek + noop_llseek nr_cpu_ids ns_to_timespec64 nvmem_cell_put @@ -342,9 +438,11 @@ of_clk_get_by_name of_clk_src_simple_get of_count_phandle_with_args + of_devfreq_cooling_register_power of_device_get_match_data of_device_is_available of_device_is_compatible + of_find_device_by_node of_find_node_by_name of_find_property of_get_child_by_name @@ -369,6 +467,7 @@ of_property_read_u32_index of_property_read_variable_u32_array of_regulator_match + of_reserved_mem_device_init_by_idx of_usb_get_dr_mode_by_phy __page_pinner_migration_failed panic_notifier_list @@ -381,9 +480,16 @@ phy_init phy_power_off phy_power_on + phy_set_mode_ext pinctrl_dev_get_drvdata pinctrl_lookup_state + pinctrl_pm_select_default_state + pinctrl_pm_select_sleep_state pinctrl_select_state + platform_bus_type + platform_device_put + platform_device_register_full + platform_device_unregister __platform_driver_probe __platform_driver_register platform_driver_unregister @@ -397,6 +503,7 @@ pm_runtime_enable pm_runtime_force_resume pm_runtime_force_suspend + pm_runtime_get_if_active __pm_runtime_idle __pm_runtime_resume pm_runtime_set_autosuspend_delay @@ -424,10 +531,10 @@ ___ratelimit rational_best_approximation _raw_spin_lock - _raw_spin_lock_bh + _raw_spin_lock_irq _raw_spin_lock_irqsave _raw_spin_unlock - _raw_spin_unlock_bh + _raw_spin_unlock_irq _raw_spin_unlock_irqrestore rdev_get_drvdata rdev_get_id @@ -493,7 +600,11 @@ sdhci_suspend_host seq_lseek seq_printf + seq_puts seq_read + set_page_dirty_lock + sg_alloc_table + sg_alloc_table_from_pages sg_free_table sg_next simple_strtol @@ -529,7 +640,9 @@ strlen strncmp strnlen - synchronize_rcu + strscpy + strstr + synchronize_irq syscon_node_to_regmap syscon_regmap_lookup_by_phandle sysfs_create_file_ns @@ -539,6 +652,8 @@ sysfs_remove_link system_unbound_wq system_wq + tasklet_init + tasklet_kill __tasklet_schedule thermal_zone_get_zone_by_name __traceiter_rwmmio_post_read @@ -560,17 +675,31 @@ v4l2_async_register_subdev v4l2_async_subdev_notifier_register v4l2_async_unregister_subdev + v4l2_ctrl_find + v4l2_ctrl_g_ctrl v4l2_ctrl_handler_free v4l2_ctrl_handler_init_class v4l2_ctrl_handler_setup v4l2_ctrl_new_std v4l2_ctrl_new_std_menu_items v4l2_i2c_subdev_init + v4l2_querymenu + v4l2_subdev_call_wrappers + v4l2_subdev_init vabits_actual + vb2_common_vm_ops + vb2_create_framevec + vb2_destroy_framevec vfree + vmalloc vmap + vm_get_page_prot + vm_map_pages + vm_map_ram + vm_unmap_ram vunmap wait_for_completion + wait_for_completion_timeout __wake_up wakeup_source_add __warn_printk @@ -605,7 +734,6 @@ ce_aes_expandkey # required by ch.ko - noop_llseek param_array_ops scsi_device_lookup __scsi_execute @@ -623,7 +751,6 @@ clk_fractional_divider_ops clk_gate_ops __clk_get_hw - clk_get_parent clk_hw_get_flags clk_hw_get_parent clk_hw_get_rate @@ -638,8 +765,6 @@ clk_register_gate clk_register_mux_table divider_get_val - gcd - kmemdup match_string of_clk_src_onecell_get register_restart_handler @@ -653,12 +778,9 @@ scmi_driver_unregister # required by cma_heap.ko - cma_alloc cma_get_name - cma_release dma_contiguous_default_area dma_heap_get_drvdata - sg_alloc_table_from_pages # required by cpufreq-dt.ko cpufreq_enable_boost_support @@ -700,7 +822,6 @@ # required by cqhci.ko devm_blk_ksm_init - dmam_free_coherent mmc_cqe_request_done # required by cw2015_battery.ko @@ -718,7 +839,6 @@ # required by dw_mmc.ko debugfs_create_u32 debugfs_create_x64 - del_timer device_property_read_string_array mmc_add_host mmc_alloc_host @@ -732,14 +852,14 @@ mmc_regulator_set_vqmmc mmc_remove_host mmc_request_done + _raw_spin_lock_bh + _raw_spin_unlock_bh sdio_signal_irq sg_miter_next sg_miter_start sg_miter_stop - tasklet_init # required by dw_wdt.ko - debugfs_create_regset32 platform_get_irq_optional watchdog_init_timeout watchdog_register_device @@ -749,19 +869,14 @@ # required by dwc2.ko __bitmap_clear bitmap_find_next_zero_area_off - dev_driver_string device_set_wakeup_capable device_wakeup_enable devm_usb_get_phy - dma_sync_single_for_cpu - dma_sync_single_for_device hrtimer_cancel hrtimer_init hrtimer_start_range_ns - is_vmalloc_addr phy_reset _raw_spin_trylock - synchronize_irq usb_add_gadget_udc usb_add_hcd usb_calc_bus_time @@ -800,7 +915,6 @@ gf128mul_lle # required by gpio-regulator.ko - devm_kstrdup gpiod_count # required by gpio-rockchip.ko @@ -892,9 +1006,6 @@ regulator_unregister_notifier # required by kfifo_buf.ko - __kfifo_alloc - __kfifo_free - __kfifo_in __kfifo_to_user mutex_lock_interruptible @@ -942,6 +1053,7 @@ bpf_trace_run1 bpf_trace_run2 bpf_trace_run3 + capable cleanup_srcu_struct device_add device_del @@ -964,6 +1076,7 @@ set_capacity_revalidate_and_notify set_disk_ro __srcu_read_unlock + synchronize_rcu synchronize_srcu trace_event_buffer_commit trace_event_buffer_reserve @@ -997,16 +1110,13 @@ blk_put_queue __blk_rq_map_sg device_release_driver - dma_map_page_attrs dma_max_mapping_size dma_pool_alloc dma_pool_create dma_pool_destroy dma_pool_free - dma_unmap_page_attrs __do_once_done __do_once_start - flush_workqueue mempool_alloc mempool_create_node mempool_destroy @@ -1044,9 +1154,6 @@ sysfs_remove_file_from_group wait_for_completion_io_timeout -# required by nvmem-rockchip-otp.ko - __bitmap_set - # required by optee-rng.ko driver_register hwrng_register @@ -1055,7 +1162,6 @@ # required by optee.ko alloc_pages_exact __arm_smccc_hvc - device_property_read_string device_register find_vma free_pages_exact @@ -1064,6 +1170,7 @@ ktime_get_real_ts64 memremap memunmap + msleep_interruptible wait_for_completion_interruptible # required by ov2680.ko @@ -1072,8 +1179,6 @@ __v4l2_find_nearest_size # required by ov5695.ko - pm_runtime_get_if_active - strscpy __v4l2_ctrl_modify_range v4l2_ctrl_new_int_menu @@ -1081,16 +1186,10 @@ drm_bus_flags_from_videomode drm_connector_set_panel_orientation drm_display_mode_from_videomode - drm_mode_create - drm_mode_duplicate - drm_mode_probed_add - drm_mode_set_name drm_panel_add - drm_panel_disable drm_panel_init drm_panel_of_backlight drm_panel_remove - drm_panel_unprepare mipi_dsi_attach mipi_dsi_dcs_write_buffer mipi_dsi_detach @@ -1113,7 +1212,6 @@ dw_pcie_write_dbi kthread_create_on_node of_prop_next_string - phy_set_mode_ext wake_up_process # required by pcierockchiphost.ko @@ -1127,15 +1225,6 @@ pci_stop_root_bus regulator_get_current_limit -# required by phy-rockchip-csi2-dphy.ko - media_create_pad_link - of_find_device_by_node - v4l2_ctrl_find - v4l2_ctrl_g_ctrl - v4l2_querymenu - v4l2_subdev_call_wrappers - v4l2_subdev_init - # required by phy-rockchip-inno-dsidphy.ko phy_mipi_dphy_config_validate @@ -1143,7 +1232,6 @@ nvmem_cell_get # required by phy-rockchip-inno-usb2.ko - devm_extcon_register_notifier extcon_set_state extcon_sync wakeup_source_remove @@ -1153,8 +1241,8 @@ strcasecmp usb_add_phy -# required by phy-rockchip-typec.ko - extcon_get_property +# required by phy-rockchip-mipi-rx.ko + of_graph_get_remote_node # required by phy-rockchip-usb.ko __of_reset_control_get @@ -1170,7 +1258,6 @@ # required by pl330.ko amba_driver_register amba_driver_unregister - devm_free_irq dma_async_device_register dma_async_device_unregister dma_async_tx_descriptor_init @@ -1182,8 +1269,6 @@ of_dma_controller_free of_dma_controller_register pm_runtime_irq_safe - seq_puts - tasklet_kill tasklet_setup # required by pm_domains.ko @@ -1231,7 +1316,6 @@ kobject_create_and_add platform_device_add platform_device_alloc - platform_device_put regmap_add_irq_chip regmap_del_irq_chip regmap_irq_get_domain @@ -1262,8 +1346,6 @@ # required by rockchip-iommu.ko bus_set_iommu - device_link_add - device_link_del get_zeroed_page iommu_device_register iommu_device_sysfs_add @@ -1273,10 +1355,8 @@ iommu_group_put iommu_group_ref_get iommu_put_dma_cookie - platform_bus_type platform_irq_count report_iommu_fault - strstr # required by rockchip-rng.ko devm_hwrng_register @@ -1315,8 +1395,6 @@ devfreq_resume_device devfreq_suspend_device devfreq_update_interval - devm_devfreq_add_device - devm_devfreq_register_opp_notifier _dev_notice dev_pm_opp_add input_close_device @@ -1325,7 +1403,6 @@ input_register_handler input_unregister_handle __memset_io - of_devfreq_cooling_register_power # required by rockchip_dmc_common.ko down_write_trylock @@ -1345,7 +1422,6 @@ iio_get_time_ns iio_push_to_buffers iio_trigger_notify_done - wait_for_completion_timeout # required by rockchip_sip.ko sched_clock @@ -1368,12 +1444,7 @@ component_match_add_release component_unbind_all devm_of_phy_get_by_index - dma_buf_attach - dma_buf_detach - dma_buf_map_attachment - dma_buf_unmap_attachment - dma_get_sgtable_attrs - dma_mmap_attrs + devm_phy_optional_get drm_add_modes_noedid drm_atomic_commit drm_atomic_get_connector_state @@ -1410,7 +1481,6 @@ drm_atomic_state_alloc __drm_atomic_state_free drm_bridge_attach - drm_compat_ioctl drm_connector_init_with_ddc drm_connector_list_iter_begin drm_connector_list_iter_end @@ -1427,15 +1497,9 @@ drm_crtc_vblank_off drm_crtc_vblank_on drm_crtc_vblank_put - __drm_dbg drm_debugfs_create_files drm_detect_monitor_audio - drm_dev_alloc - drm_dev_dbg drm_dev_printk - drm_dev_put - drm_dev_register - drm_dev_unregister drm_do_get_edid drm_dp_bw_code_to_link_rate drm_dp_channel_eq_ok @@ -1456,32 +1520,20 @@ drm_gem_dmabuf_release drm_gem_dmabuf_vmap drm_gem_dmabuf_vunmap - drm_gem_dumb_map_offset drm_gem_fb_afbc_init drm_gem_fb_create_handle drm_gem_fb_init_with_funcs drm_gem_get_pages - drm_gem_handle_create drm_gem_map_attach drm_gem_map_detach drm_gem_map_dma_buf - drm_gem_mmap - drm_gem_mmap_obj - drm_gem_object_free - drm_gem_object_init - drm_gem_object_lookup drm_gem_object_put_locked - drm_gem_object_release - drm_gem_prime_fd_to_handle - drm_gem_prime_handle_to_fd drm_gem_put_pages drm_gem_unmap_dma_buf - drm_gem_vm_close drm_get_format_info drm_get_format_name drm_hdmi_vendor_infoframe_from_display_mode drm_helper_mode_fill_fb_struct - drm_ioctl drm_kms_helper_hotplug_event drm_kms_helper_poll_enable drm_kms_helper_poll_fini @@ -1497,7 +1549,6 @@ drm_mode_config_helper_resume drm_mode_config_helper_suspend drm_mode_config_reset - drm_mode_copy drm_mode_create_tv_properties drm_mode_crtc_set_gamma_size drm_mode_debug_printmodeline @@ -1515,9 +1566,6 @@ drm_of_crtc_port_mask drm_of_encoder_active_endpoint drm_of_find_panel_or_bridge - drm_open - drm_panel_bridge_add_typed - drm_panel_bridge_remove drm_panel_enable drm_panel_get_modes drm_panel_prepare @@ -1526,18 +1574,12 @@ drm_plane_create_blend_mode_property drm_plane_create_rotation_property drm_plane_create_zpos_property - drm_poll - drm_prime_gem_destroy drm_prime_get_contiguous_size - drm_prime_pages_to_sg - drm_prime_sg_to_page_addr_arrays __drm_printfn_seq_file drm_property_create_bitmask drm_property_create_object drm_property_create_range __drm_puts_seq_file - drm_read - drm_release drm_send_event_locked drm_simple_encoder_init drm_universal_plane_init @@ -1546,8 +1588,6 @@ drm_writeback_queue_job drm_writeback_signal_completion hdmi_infoframe_pack - iommu_attach_device - iommu_detach_device iommu_domain_alloc iommu_domain_free iommu_map @@ -1560,8 +1600,6 @@ of_graph_get_remote_port of_graph_get_remote_port_parent of_property_match_string - of_reserved_mem_device_init_by_idx - platform_device_unregister platform_find_device_by_driver __platform_register_drivers platform_unregister_drivers @@ -1571,8 +1609,6 @@ __sw_hweight32 __sw_hweight8 __vmalloc - vm_get_page_prot - vm_map_pages # required by rtc-rk808.ko _bcd2bin @@ -1641,24 +1677,13 @@ irq_stat # required by sii902x.ko - drm_atomic_helper_connector_destroy_state - drm_atomic_helper_connector_duplicate_state - drm_atomic_helper_connector_reset drm_bridge_add drm_bridge_remove - drm_connector_attach_encoder - drm_connector_cleanup - drm_connector_init - drm_detect_hdmi_monitor - __drm_err - drm_hdmi_avi_infoframe_from_display_mode - drm_helper_hpd_irq_event - drm_helper_probe_single_connector_modes + drm_display_mode_to_videomode hdmi_audio_infoframe_pack hdmi_avi_infoframe_pack of_graph_parse_endpoint of_property_read_variable_u8_array - platform_device_register_full # required by snd-soc-cx2072x.ko __devm_regmap_init @@ -1707,17 +1732,12 @@ # required by spi-rockchip.ko devm_spi_register_controller - of_property_read_variable_u16_array - pinctrl_pm_select_default_state - pinctrl_pm_select_sleep_state __spi_alloc_controller spi_controller_resume spi_controller_suspend spi_finalize_current_transfer # required by spidev.ko - _raw_spin_lock_irq - _raw_spin_unlock_irq __spi_register_driver spi_setup spi_sync @@ -1730,10 +1750,8 @@ dmabuf_page_pool_destroy dmabuf_page_pool_free dma_heap_get_dev - sg_alloc_table __sg_page_iter_next __sg_page_iter_start - vmalloc # required by tee.ko bus_register @@ -1742,14 +1760,7 @@ crypto_alloc_shash crypto_shash_final crypto_shash_update - dma_buf_fd - dma_buf_put - gen_pool_add_owner - gen_pool_alloc_algo_owner gen_pool_best_fit - gen_pool_create - gen_pool_destroy - gen_pool_free_owner gen_pool_set_algo gen_pool_virt_to_phys get_kernel_pages @@ -1782,7 +1793,6 @@ v4l2_async_notifier_unregister # required by video_rkisp.ko - iommu_get_domain_for_dev __kfifo_out kmalloc_order_trace media_device_cleanup @@ -1872,7 +1882,6 @@ kstrtou16 memparse memset64 - mutex_is_locked __num_online_cpus page_endio register_blkdev @@ -1893,10 +1902,6 @@ kern_mount kern_unmount kill_anon_super - kmem_cache_alloc - kmem_cache_create - kmem_cache_destroy - kmem_cache_free kstrdup __lock_page page_mapping From c36e5828d041571d3343d0a458b4b21d6e1b09f3 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 15:52:44 +0800 Subject: [PATCH 09/16] ANDROID: GKI: rockchip: Enable symbols for rockchip cpufreq Leaf changes summary: 2 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 2 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 2 Added functions: [A] 'function void dev_pm_opp_put_prop_name(opp_table*)' [A] 'function opp_table* dev_pm_opp_register_set_opp_helper(device*, int (dev_pm_set_opp_data*)*)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I9da4a3c5bfbbbcae7f653d275d6c0ac71ab24470 --- android/abi_gki_aarch64.xml | 11 +++++++++++ android/abi_gki_aarch64_rockchip | 14 +++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 7803f1b50629..7df9cac0fd66 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1290,9 +1290,11 @@ + + @@ -120420,6 +120422,10 @@ + + + + @@ -120433,6 +120439,11 @@ + + + + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 653e87ed2c3c..6c4930b55133 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -72,7 +72,9 @@ completion_done __const_udelay __cpufreq_driver_target + cpufreq_generic_suspend cpufreq_register_governor + cpufreq_register_notifier cpufreq_unregister_governor cpu_have_feature __cpuhp_remove_state @@ -178,6 +180,7 @@ dev_pm_opp_find_freq_ceil dev_pm_opp_get_opp_count dev_pm_opp_get_voltage + dev_pm_opp_of_get_sharing_cpus dev_pm_opp_put dev_pm_opp_remove devres_add @@ -297,6 +300,7 @@ gen_pool_create gen_pool_destroy gen_pool_free_owner + get_cpu_device get_device gic_nonsecure_priorities gpiochip_add_pin_range @@ -462,6 +466,7 @@ of_parse_phandle of_phy_simple_xlate of_property_count_elems_of_size + of_property_match_string of_property_read_string of_property_read_string_helper of_property_read_u32_index @@ -788,7 +793,6 @@ cpufreq_freq_attr_scaling_boost_freqs cpufreq_generic_frequency_table_verify cpufreq_generic_get - cpufreq_generic_suspend cpufreq_register_driver cpufreq_unregister_driver dev_pm_opp_free_cpufreq_table @@ -798,13 +802,11 @@ dev_pm_opp_init_cpufreq_table dev_pm_opp_of_cpumask_add_table dev_pm_opp_of_cpumask_remove_table - dev_pm_opp_of_get_sharing_cpus dev_pm_opp_of_register_em dev_pm_opp_put_regulators dev_pm_opp_set_rate dev_pm_opp_set_regulators dev_pm_opp_set_sharing_cpus - get_cpu_device policy_has_boost_freq # required by cpufreq_ondemand.ko @@ -1344,6 +1346,10 @@ sync_file_create vmf_insert_mixed +# required by rockchip-cpufreq.ko + dev_pm_opp_put_prop_name + dev_pm_opp_register_set_opp_helper + # required by rockchip-iommu.ko bus_set_iommu get_zeroed_page @@ -1373,7 +1379,6 @@ phy_drivers_unregister # required by rockchip_bus.ko - cpufreq_register_notifier cpu_topology # required by rockchip_dmc.ko @@ -1599,7 +1604,6 @@ of_graph_get_port_by_id of_graph_get_remote_port of_graph_get_remote_port_parent - of_property_match_string platform_find_device_by_driver __platform_register_drivers platform_unregister_drivers From 44447dec6eff07fbcddac66d7b153928beb5005c Mon Sep 17 00:00:00 2001 From: Martin Liu Date: Thu, 14 Oct 2021 14:49:19 +0000 Subject: [PATCH 10/16] ANDROID: sched: move blocked reason trace point to cover all class Now, we only export CFS taks' blocked reasons but it's important and useful to know other class' blocked reasons such as RT tasks. Move the blocked reason trace point to where the scheduler core layer and before the task's state moves to the waking state. Thus, we could cover all the sched classes. Bug: 203080186 Test: check traces Signed-off-by: Martin Liu Change-Id: Ic61865642d852d0127cdcf474adf8c06e4c2d570 --- kernel/sched/core.c | 3 +++ kernel/sched/fair.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index adac9409fb2e..eaa1bc9adf1a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3116,6 +3116,9 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) if (READ_ONCE(p->on_rq) && ttwu_runnable(p, wake_flags)) goto unlock; + if (p->state & TASK_UNINTERRUPTIBLE) + trace_sched_blocked_reason(p); + #ifdef CONFIG_SMP /* * Ensure we load p->on_cpu _after_ p->on_rq, otherwise it would be diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 6d004a085089..29f84c11acf9 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -999,7 +999,6 @@ update_stats_enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se) } trace_sched_stat_blocked(tsk, delta); - trace_sched_blocked_reason(tsk); /* * Blocking time is in units of nanosecs, so shift by From 69c931581f4183be722e06e79c0bc7968b8d2a44 Mon Sep 17 00:00:00 2001 From: Liujie Xie Date: Fri, 8 Oct 2021 11:42:19 +0800 Subject: [PATCH 11/16] ANDROID: vendor_hooks: export hooks of mem_cgroup subsystem Forgot export hooks for driver, fix it. Fixes: 1cdcf76b1532ca80 ("ANDROID: vendor_hooks: add hooks in mem_cgroup subsystem") Bug: 192052083 Signed-off-by: Liujie Xie Change-Id: I79779406b4dab52ceca02bd5de909d3a0c127cb9 --- drivers/android/vendor_hooks.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 07c97e495629..423219ac6989 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -386,3 +386,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pci_d3_sleep); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kmalloc_slab); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_id_remove); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_offline); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_online); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_free); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_alloc); From fc1f8e404741b13deaf3dc93c9aa4c46470555c0 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 16:26:24 +0800 Subject: [PATCH 12/16] ANDROID: GKI: rockchip: Enable symbols for display IF Add symbols for hdmi, dp, mipi. Leaf changes summary: 7 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 7 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 7 Added functions: [A] 'function void cec_queue_pin_hpd_event(cec_adapter*, bool, ktime_t)' [A] 'function int drm_dp_start_crc(drm_dp_aux*, drm_crtc*)' [A] 'function int drm_dp_stop_crc(drm_dp_aux*)' [A] 'function bool drm_mode_is_420(const drm_display_info*, const drm_display_mode*)' [A] 'function drm_connector* drm_panel_bridge_connector(drm_bridge*)' [A] 'function int drm_property_replace_global_blob(drm_device*, drm_property_blob**, unsigned long int, void*, drm_mode_object*, drm_property*)' [A] 'function void sha1_init(unsigned int*)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I51128354f85c9384b33e49282df54d0a018fad06 --- android/abi_gki_aarch64.xml | 44 ++++++++++++ android/abi_gki_aarch64_rockchip | 115 ++++++++++++++++++++++++++----- 2 files changed, 140 insertions(+), 19 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 7df9cac0fd66..67b187ae0a83 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -913,6 +913,7 @@ + @@ -1862,6 +1863,8 @@ + + @@ -2008,6 +2011,7 @@ + @@ -2044,6 +2048,7 @@ + @@ -2080,6 +2085,7 @@ + @@ -4307,6 +4313,7 @@ + @@ -118462,6 +118469,12 @@ + + + + + + @@ -123489,6 +123502,15 @@ + + + + + + + + + @@ -124225,6 +124247,11 @@ + + + + + @@ -124404,6 +124431,10 @@ + + + + @@ -124602,6 +124633,15 @@ + + + + + + + + + @@ -135956,6 +135996,10 @@ + + + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 6c4930b55133..6763edef48d7 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -222,22 +222,34 @@ down_write driver_unregister drm_add_edid_modes + drm_atomic_get_crtc_state + drm_atomic_get_new_connector_for_encoder + drm_atomic_helper_bridge_destroy_state + drm_atomic_helper_bridge_duplicate_state + drm_atomic_helper_bridge_reset drm_atomic_helper_connector_destroy_state drm_atomic_helper_connector_duplicate_state drm_atomic_helper_connector_reset + drm_bridge_add + drm_bridge_attach + drm_bridge_remove drm_compat_ioctl drm_connector_attach_encoder drm_connector_cleanup drm_connector_init + drm_connector_init_with_ddc drm_connector_update_edid_property __drm_dbg drm_detect_hdmi_monitor + drm_detect_monitor_audio drm_dev_alloc drm_dev_dbg + drm_dev_printk drm_dev_put drm_dev_register drm_dev_unregister drm_display_info_set_bus_formats + drm_dp_bw_code_to_link_rate __drm_err drm_gem_dumb_map_offset drm_gem_handle_create @@ -252,17 +264,24 @@ drm_gem_vm_close drm_get_edid drm_hdmi_avi_infoframe_from_display_mode + drm_hdmi_vendor_infoframe_from_display_mode drm_helper_hpd_irq_event drm_helper_probe_single_connector_modes drm_ioctl + drm_match_cea_mode drm_mode_copy drm_mode_create drm_mode_duplicate drm_mode_probed_add drm_mode_set_name drm_mode_vrefresh + drm_object_attach_property + drm_of_find_panel_or_bridge drm_open drm_panel_disable + drm_panel_enable + drm_panel_get_modes + drm_panel_prepare drm_panel_unprepare drm_poll drm_prime_gem_destroy @@ -456,6 +475,8 @@ of_get_parent of_get_property of_get_regulator_init_data + of_graph_get_remote_node + of_graph_parse_endpoint of_iomap of_irq_get_byname of_machine_is_compatible @@ -481,6 +502,7 @@ param_ops_uint __per_cpu_offset pfn_valid + phy_configure phy_exit phy_init phy_power_off @@ -738,6 +760,15 @@ # required by aes-ce-ccm.ko ce_aes_expandkey +# required by analogix_dp.ko + drm_dp_aux_register + drm_dp_aux_unregister + drm_dp_dpcd_read + drm_dp_dpcd_write + drm_dp_start_crc + drm_dp_stop_crc + irq_modify_status + # required by ch.ko param_array_ops scsi_device_lookup @@ -834,6 +865,66 @@ regmap_raw_read regmap_raw_write +# required by dw-hdmi-cec.ko + cec_allocate_adapter + cec_delete_adapter + cec_notifier_cec_adap_register + cec_notifier_cec_adap_unregister + cec_received_msg_ts + cec_register_adapter + cec_transmit_attempt_done_ts + cec_unregister_adapter + devm_remove_action + +# required by dw-hdmi-hdcp.ko + device_create_file + device_remove_file + kstrtobool + misc_deregister + misc_register + sha1_init + sha1_transform + +# required by dw-hdmi.ko + bcmp + cancel_delayed_work + cec_fill_conn_info_from_drm + cec_notifier_conn_register + cec_notifier_conn_unregister + cec_notifier_set_phys_addr + cec_notifier_set_phys_addr_from_edid + cec_queue_pin_hpd_event + drm_bridge_hpd_notify + drm_connector_attach_max_bpc_property + drm_default_rgb_quant_range + drm_hdmi_avi_infoframe_quant_range + drm_hdmi_infoframe_set_hdr_metadata + drm_mode_is_420_also + drm_mode_is_420_only + drm_property_replace_global_blob + drm_scdc_read + drm_scdc_set_high_tmds_clock_ratio + drm_scdc_set_scrambling + drm_scdc_write + extcon_set_property_capability + hdmi_drm_infoframe_pack + hdmi_vendor_infoframe_pack + mod_delayed_work_on + of_get_i2c_adapter_by_node + +# required by dw-mipi-dsi.ko + debugfs_attr_read + debugfs_attr_write + drm_panel_bridge_add_typed + drm_panel_bridge_connector + drm_panel_bridge_remove + mipi_dsi_create_packet + mipi_dsi_host_register + mipi_dsi_host_unregister + of_drm_find_bridge + simple_attr_open + simple_attr_release + # required by dw_mmc-rockchip.ko clk_get_phase mmc_send_tuning @@ -1243,9 +1334,6 @@ strcasecmp usb_add_phy -# required by phy-rockchip-mipi-rx.ko - of_graph_get_remote_node - # required by phy-rockchip-usb.ko __of_reset_control_get @@ -1453,7 +1541,6 @@ drm_add_modes_noedid drm_atomic_commit drm_atomic_get_connector_state - drm_atomic_get_crtc_state drm_atomic_get_plane_state drm_atomic_helper_check drm_atomic_helper_check_plane_state @@ -1485,8 +1572,6 @@ drm_atomic_set_mode_for_crtc drm_atomic_state_alloc __drm_atomic_state_free - drm_bridge_attach - drm_connector_init_with_ddc drm_connector_list_iter_begin drm_connector_list_iter_end drm_connector_list_iter_next @@ -1503,10 +1588,7 @@ drm_crtc_vblank_on drm_crtc_vblank_put drm_debugfs_create_files - drm_detect_monitor_audio - drm_dev_printk drm_do_get_edid - drm_dp_bw_code_to_link_rate drm_dp_channel_eq_ok drm_encoder_cleanup drm_encoder_init @@ -1537,13 +1619,11 @@ drm_gem_unmap_dma_buf drm_get_format_info drm_get_format_name - drm_hdmi_vendor_infoframe_from_display_mode drm_helper_mode_fill_fb_struct drm_kms_helper_hotplug_event drm_kms_helper_poll_enable drm_kms_helper_poll_fini drm_kms_helper_poll_init - drm_match_cea_mode drm_mm_init drm_mm_insert_node_in_range drmm_mode_config_init @@ -1557,6 +1637,7 @@ drm_mode_create_tv_properties drm_mode_crtc_set_gamma_size drm_mode_debug_printmodeline + drm_mode_is_420 drm_mode_object_get drm_mode_object_put drm_mode_prune_invalid @@ -1567,13 +1648,8 @@ drm_mode_validate_driver drm_mode_validate_size drm_mode_validate_ycbcr420 - drm_object_attach_property drm_of_crtc_port_mask drm_of_encoder_active_endpoint - drm_of_find_panel_or_bridge - drm_panel_enable - drm_panel_get_modes - drm_panel_prepare drm_plane_cleanup drm_plane_create_alpha_property drm_plane_create_blend_mode_property @@ -1581,9 +1657,12 @@ drm_plane_create_zpos_property drm_prime_get_contiguous_size __drm_printfn_seq_file + drm_property_create drm_property_create_bitmask + drm_property_create_enum drm_property_create_object drm_property_create_range + drm_property_destroy __drm_puts_seq_file drm_send_event_locked drm_simple_encoder_init @@ -1604,6 +1683,7 @@ of_graph_get_port_by_id of_graph_get_remote_port of_graph_get_remote_port_parent + phy_mipi_dphy_get_default_config platform_find_device_by_driver __platform_register_drivers platform_unregister_drivers @@ -1681,12 +1761,9 @@ irq_stat # required by sii902x.ko - drm_bridge_add - drm_bridge_remove drm_display_mode_to_videomode hdmi_audio_infoframe_pack hdmi_avi_infoframe_pack - of_graph_parse_endpoint of_property_read_variable_u8_array # required by snd-soc-cx2072x.ko From 9c78b0eb03b7bef21b84c7b52e0090ab41840644 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 16:54:10 +0800 Subject: [PATCH 13/16] ANDROID: GKI: rockchip: Enable symbol for rkcif Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function int media_entity_setup_link(media_link*, u32)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I213dd740d5fde81e78f3c51b55adad99a713cbf1 --- android/abi_gki_aarch64.xml | 27 ++----- android/abi_gki_aarch64_rockchip | 121 ++++++++++++++++--------------- 2 files changed, 69 insertions(+), 79 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 67b187ae0a83..7142911bdc25 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2993,6 +2993,7 @@ + @@ -80964,9 +80965,6 @@ - - - @@ -89747,9 +89745,6 @@ - - - @@ -102800,20 +102795,7 @@ - - - - - - - - - - - - - - + @@ -129350,6 +129332,11 @@ + + + + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 6763edef48d7..d2a2cad1d6cf 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -12,7 +12,9 @@ arm64_const_caps_ready arm64_use_ng_mappings __arm_smccc_smc + atomic_notifier_call_chain atomic_notifier_chain_register + atomic_notifier_chain_unregister bdget_disk bdput __bitmap_set @@ -400,6 +402,7 @@ __kfifo_alloc __kfifo_free __kfifo_in + __kfifo_out kfree kfree_const __kmalloc @@ -431,8 +434,17 @@ __log_write_mmio lzo1x_decompress_safe media_create_pad_link + media_device_init + __media_device_register + media_device_unregister media_entity_pads_init media_entity_remote_pad + media_graph_walk_cleanup + media_graph_walk_init + media_graph_walk_next + media_graph_walk_start + media_pipeline_start + media_pipeline_stop memcpy memdup_user memset @@ -499,7 +511,9 @@ panic_notifier_list param_ops_bool param_ops_int + param_ops_string param_ops_uint + PDE_DATA __per_cpu_offset pfn_valid phy_configure @@ -547,6 +561,7 @@ prepare_to_wait_event print_hex_dump printk + proc_create_data put_device put_disk __put_page @@ -558,9 +573,11 @@ ___ratelimit rational_best_approximation _raw_spin_lock + _raw_spin_lock_bh _raw_spin_lock_irq _raw_spin_lock_irqsave _raw_spin_unlock + _raw_spin_unlock_bh _raw_spin_unlock_irq _raw_spin_unlock_irqrestore rdev_get_drvdata @@ -598,6 +615,7 @@ regulator_set_voltage_sel_regmap regulator_set_voltage_time_sel remap_pfn_range + remove_proc_entry reset_control_assert reset_control_deassert revalidate_disk_size @@ -666,6 +684,7 @@ strlcpy strlen strncmp + strncpy strnlen strscpy strstr @@ -699,6 +718,7 @@ uuid_null v4l2_async_notifier_cleanup v4l2_async_notifier_init + v4l2_async_notifier_register v4l2_async_register_subdev v4l2_async_subdev_notifier_register v4l2_async_unregister_subdev @@ -709,15 +729,54 @@ v4l2_ctrl_handler_setup v4l2_ctrl_new_std v4l2_ctrl_new_std_menu_items + v4l2_device_register + v4l2_device_register_subdev + __v4l2_device_register_subdev_nodes + v4l2_device_unregister + v4l2_device_unregister_subdev + v4l2_event_queue + v4l2_event_subdev_unsubscribe + v4l2_event_subscribe + v4l2_fh_open v4l2_i2c_subdev_init + v4l2_pipeline_pm_get + v4l2_pipeline_pm_put v4l2_querymenu v4l2_subdev_call_wrappers v4l2_subdev_init + v4l2_subdev_link_validate + v4l2_type_names vabits_actual + vb2_buffer_done vb2_common_vm_ops vb2_create_framevec vb2_destroy_framevec + vb2_dma_contig_memops + vb2_fop_mmap + vb2_fop_poll + vb2_fop_release + vb2_ioctl_create_bufs + vb2_ioctl_dqbuf + vb2_ioctl_expbuf + vb2_ioctl_prepare_buf + vb2_ioctl_qbuf + vb2_ioctl_querybuf + vb2_ioctl_reqbufs + vb2_ioctl_streamoff + vb2_ioctl_streamon + vb2_ops_wait_finish + vb2_ops_wait_prepare + vb2_plane_cookie + vb2_plane_vaddr + vb2_queue_init + vb2_queue_release + vb2_vmalloc_memops vfree + video_devdata + video_device_release_empty + video_ioctl2 + __video_register_device + video_unregister_device vmalloc vmap vm_get_page_prot @@ -945,8 +1004,6 @@ mmc_regulator_set_vqmmc mmc_remove_host mmc_request_done - _raw_spin_lock_bh - _raw_spin_unlock_bh sdio_signal_irq sg_miter_next sg_miter_start @@ -1106,7 +1163,6 @@ devm_gpio_request_one # required by ledtrig-heartbeat.ko - atomic_notifier_chain_unregister avenrun # required by lzo-rle.ko @@ -1330,7 +1386,6 @@ wakeup_source_remove # required by phy-rockchip-inno-usb3.ko - atomic_notifier_call_chain strcasecmp usb_add_phy @@ -1854,7 +1909,6 @@ power_supply_register power_supply_unregister strncasecmp - strncpy # required by tps65132-regulator.ko regulator_set_active_discharge_regmap @@ -1873,70 +1927,19 @@ v4l2_async_notifier_add_subdev v4l2_async_notifier_unregister +# required by video_rkcif.ko + media_entity_setup_link + # required by video_rkisp.ko - __kfifo_out kmalloc_order_trace media_device_cleanup - media_device_init - __media_device_register - media_device_unregister - media_graph_walk_cleanup - media_graph_walk_init - media_graph_walk_next - media_graph_walk_start - media_pipeline_start - media_pipeline_stop __memcpy_fromio __memcpy_toio of_property_read_u64 - param_ops_string param_ops_ullong - PDE_DATA - proc_create_data - remove_proc_entry - v4l2_async_notifier_register v4l2_ctrl_g_ctrl_int64 - v4l2_device_register - v4l2_device_register_subdev - __v4l2_device_register_subdev_nodes - v4l2_device_unregister - v4l2_device_unregister_subdev - v4l2_event_queue - v4l2_event_subdev_unsubscribe - v4l2_event_subscribe v4l2_event_unsubscribe - v4l2_fh_open v4l2_pipeline_link_notify - v4l2_pipeline_pm_get - v4l2_pipeline_pm_put - v4l2_subdev_link_validate - v4l2_type_names - vb2_buffer_done - vb2_dma_contig_memops - vb2_fop_mmap - vb2_fop_poll - vb2_fop_release - vb2_ioctl_create_bufs - vb2_ioctl_dqbuf - vb2_ioctl_expbuf - vb2_ioctl_prepare_buf - vb2_ioctl_qbuf - vb2_ioctl_querybuf - vb2_ioctl_reqbufs - vb2_ioctl_streamoff - vb2_ioctl_streamon - vb2_ops_wait_finish - vb2_ops_wait_prepare - vb2_plane_cookie - vb2_plane_vaddr - vb2_queue_init - vb2_queue_release - vb2_vmalloc_memops - video_devdata - video_device_release_empty - video_ioctl2 - __video_register_device - video_unregister_device # required by videobuf2-dma-sg.ko split_page From 496b17304af015d57562344e188d8e5809a9a648 Mon Sep 17 00:00:00 2001 From: Liujie Xie Date: Tue, 19 Oct 2021 16:17:37 +0800 Subject: [PATCH 14/16] ANDROID: vendor_hooks: Add param for android_vh_cpu_up/down Add param for android_vh_cpu_up/down. Bug: 203492840 Signed-off-by: Liujie Xie Change-Id: I1c7eaaaf980fed536883b153440eb21dbd380d08 --- include/trace/hooks/cpu.h | 8 ++++---- kernel/cpu.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/trace/hooks/cpu.h b/include/trace/hooks/cpu.h index 645702996b00..fc3eaf318b25 100644 --- a/include/trace/hooks/cpu.h +++ b/include/trace/hooks/cpu.h @@ -11,12 +11,12 @@ * mechanism for vendor modules to hook and extend functionality */ DECLARE_HOOK(android_vh_cpu_up, - TP_PROTO(void *unused), - TP_ARGS(unused)); + TP_PROTO(unsigned int cpu), + TP_ARGS(cpu)); DECLARE_HOOK(android_vh_cpu_down, - TP_PROTO(void *unused), - TP_ARGS(unused)); + TP_PROTO(unsigned int cpu), + TP_ARGS(cpu)); /* macro versions of hooks are no longer required */ diff --git a/kernel/cpu.c b/kernel/cpu.c index 7d86553a0c2e..413e2db3eb6a 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1073,7 +1073,7 @@ static int cpu_down(unsigned int cpu, enum cpuhp_state target) { int err; - trace_android_vh_cpu_down(NULL); + trace_android_vh_cpu_down(cpu); cpu_maps_update_begin(); err = cpu_down_maps_locked(cpu, target); @@ -1538,7 +1538,7 @@ static int cpu_up(unsigned int cpu, enum cpuhp_state target) return -EINVAL; } - trace_android_vh_cpu_up(NULL); + trace_android_vh_cpu_up(cpu); /* * CPU hotplug operations consists of many steps and each step From 74f247e31bdc94469e44e55837dfb59c3bdda1de Mon Sep 17 00:00:00 2001 From: Minchan Kim Date: Mon, 18 Oct 2021 09:11:11 -0700 Subject: [PATCH 15/16] ANDROID: mm: cma: disable LRU cache early CMA is supposed to work with multiple retrial in case of seeing -EBUSY. During the trials, it's not desirable to enable LRU pagevec caching because it needs to keep LRU draining in alloc_contig_range API, which is expensive when CPUs are busy. Bug: 196012565 Signed-off-by: Minchan Kim Change-Id: I869461bf645fa81bbb3363a210f620e4b5c9bb29 --- mm/cma.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/cma.c b/mm/cma.c index 47538607045e..a7638d7487c4 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -42,6 +42,9 @@ #include "cma.h" +extern void lru_cache_disable(void); +extern void lru_cache_enable(void); + struct cma cma_areas[MAX_CMA_AREAS]; unsigned cma_area_count; @@ -466,6 +469,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align, if (bitmap_count > bitmap_maxno) goto out; + lru_cache_disable(); for (;;) { struct acr_info info = {0}; @@ -545,6 +549,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align, } } + lru_cache_enable(); trace_cma_alloc_finish(cma->name, pfn, page, count, align); trace_cma_alloc_info(cma->name, page, count, align, &cma_info); From 93ec12dc507d904aeddce9e12724b8c2ad37c68c Mon Sep 17 00:00:00 2001 From: John Stultz Date: Thu, 9 Sep 2021 02:37:41 +0000 Subject: [PATCH 16/16] FROMGIT: dma-buf: system_heap: Avoid warning on mid-order allocations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When trying to do mid-order allocations, set __GFP_NOWARN to avoid warning messages if the allocation fails, as we will still fall back to single page allocatitions in that case. This is the similar to what we already do for large order allocations. Cc: Daniel Vetter Cc: Christian Koenig Cc: Sumit Semwal Cc: Liam Mark Cc: Chris Goldsworthy Cc: Laura Abbott Cc: Brian Starkey Cc: Hridya Valsaraju Cc: Suren Baghdasaryan Cc: Sandeep Patil Cc: Daniel Mentz Cc: Ørjan Eide Cc: Robin Murphy Cc: Simon Ser Cc: James Jones Cc: Leo Yan Cc: linux-media@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: John Stultz Acked-by: Daniel Vetter Signed-off-by: Sumit Semwal Link: https://patchwork.freedesktop.org/patch/msgid/20210909023741.2592429-1-john.stultz@linaro.org (cherry picked from commit 5ad2d11feafbb9a51291754c66b35e450ac6ee59 git://anongit.freedesktop.org/drm/drm-misc drm-misc-next) Signed-off-by: John Stultz Bug: 177702259 Bug: 203379179 Change-Id: I48be9fad7fa6cb14547fa9b24a648763894ef321 --- drivers/dma-buf/heaps/system_heap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heaps/system_heap.c index 5f71a73a00a4..2aa3b5eafaff 100644 --- a/drivers/dma-buf/heaps/system_heap.c +++ b/drivers/dma-buf/heaps/system_heap.c @@ -49,11 +49,12 @@ struct dma_heap_attachment { bool uncached; }; +#define LOW_ORDER_GFP (GFP_HIGHUSER | __GFP_ZERO | __GFP_COMP) +#define MID_ORDER_GFP (LOW_ORDER_GFP | __GFP_NOWARN) #define HIGH_ORDER_GFP (((GFP_HIGHUSER | __GFP_ZERO | __GFP_NOWARN \ | __GFP_NORETRY) & ~__GFP_RECLAIM) \ | __GFP_COMP) -#define LOW_ORDER_GFP (GFP_HIGHUSER | __GFP_ZERO | __GFP_COMP) -static gfp_t order_flags[] = {HIGH_ORDER_GFP, LOW_ORDER_GFP, LOW_ORDER_GFP}; +static gfp_t order_flags[] = {HIGH_ORDER_GFP, MID_ORDER_GFP, LOW_ORDER_GFP}; /* * The selection of the orders used for allocation (1MB, 64K, 4K) is designed * to match with the sizes often found in IOMMUs. Using order 4 pages instead