Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2363d0f9 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 13879e29 on remote branch

Change-Id: Ieb11053a06163bae3c2659e776c40db9df67ee1b
parents a71b9d45 13879e29
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2931,6 +2931,7 @@ static int __power_collapse(struct iris_hfi_device *device, bool force)
	dprintk(CVP_WARN, "Skip PC(%#x, %#x, %#x)\n",
		wfi_status, idle_status, pc_ready);
	__flush_debug_queue(device, device->raw_packet);
	__dsp_resume(device, 0);
	return -EAGAIN;
}

+4 −9
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/bitmap.h>
@@ -2371,15 +2372,7 @@ static int msm_geni_serial_port_setup(struct uart_port *uport)
	if (!uart_console(uport)) {
		/* For now only assume FIFO mode. */
		msm_port->xfer_mode = SE_DMA;
		se_get_packing_config(8, 4, false, &cfg0, &cfg1);
		geni_write_reg_nolog(cfg0, uport->membase,
						SE_GENI_TX_PACKING_CFG0);
		geni_write_reg_nolog(cfg1, uport->membase,
						SE_GENI_TX_PACKING_CFG1);
		geni_write_reg_nolog(cfg0, uport->membase,
						SE_GENI_RX_PACKING_CFG0);
		geni_write_reg_nolog(cfg1, uport->membase,
						SE_GENI_RX_PACKING_CFG1);
		se_config_packing(uport->membase, 8, 4, false);
		if (!msm_port->rx_fifo) {
			ret = -ENOMEM;
			goto exit_portsetup;
@@ -2535,6 +2528,8 @@ static void geni_serial_write_term_regs(struct uart_port *uport, u32 loopback,
							SE_UART_RX_WORD_LEN);
	geni_write_reg_nolog(stop_bit_len, uport->membase,
						SE_UART_TX_STOP_BIT_LEN);
	if (!uart_console(uport))
		se_config_packing(uport->membase, bits_per_char, 4, false);
	geni_write_reg_nolog(s_clk_cfg, uport->membase, GENI_SER_M_CLK_CFG);
	geni_write_reg_nolog(s_clk_cfg, uport->membase, GENI_SER_S_CLK_CFG);
	geni_read_reg_nolog(uport->membase, GENI_SER_M_CLK_CFG);
+3 −0
Original line number Diff line number Diff line
@@ -1582,6 +1582,9 @@ enum v4l2_mpeg_vidc_video_intra_refresh_mode {

#define V4L2_CID_MPEG_VIDC_VIDEO_IR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+166)

#define V4L2_CID_MPEG_VIDC_ENABLE_ONLY_BASE_LAYER_IR \
	(V4L2_CID_MPEG_MSM_VIDC_BASE + 167)

enum v4l2_mpeg_vidc_video_mbi_statistics_mode {
	V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_DEFAULT = 0,
	V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_1 = 1,
+23 −14
Original line number Diff line number Diff line
@@ -104,18 +104,12 @@ static inline void bss_ref_get(struct cfg80211_registered_device *rdev,
	lockdep_assert_held(&rdev->bss_lock);

	bss->refcount++;
	if (bss->pub.hidden_beacon_bss) {
		bss = container_of(bss->pub.hidden_beacon_bss,
				   struct cfg80211_internal_bss,
				   pub);
		bss->refcount++;
	}
	if (bss->pub.transmitted_bss) {
		bss = container_of(bss->pub.transmitted_bss,
				   struct cfg80211_internal_bss,
				   pub);
		bss->refcount++;
	}

	if (bss->pub.hidden_beacon_bss)
		bss_from_pub(bss->pub.hidden_beacon_bss)->refcount++;

	if (bss->pub.transmitted_bss)
		bss_from_pub(bss->pub.transmitted_bss)->refcount++;
}

static inline void bss_ref_put(struct cfg80211_registered_device *rdev,
@@ -324,6 +318,14 @@ cfg80211_add_nontrans_list(struct cfg80211_bss *trans_bss,
			return 0;
	}

	/* This is a bit weird - it's not on the list, but already on another
	 * one! The only way that could happen is if there's some BSSID/SSID
	 * shared by multiple APs in their multi-BSSID profiles, potentially
	 * with hidden SSID mixed in ... ignore it.
	 */
	if (!list_empty(&nontrans_bss->nontrans_list))
		return -EINVAL;

	/* add to the list */
	list_add_tail(&nontrans_bss->nontrans_list, &trans_bss->nontrans_list);
	return 0;
@@ -1158,6 +1160,8 @@ cfg80211_bss_update(struct cfg80211_registered_device *rdev,
		new->refcount = 1;
		INIT_LIST_HEAD(&new->hidden_list);
		INIT_LIST_HEAD(&new->pub.nontrans_list);
		/* we'll set this later if it was non-NULL */
		new->pub.transmitted_bss = NULL;

		if (rcu_access_pointer(tmp->pub.proberesp_ies)) {
			hidden = rb_find_bss(rdev, tmp, BSS_CMP_HIDE_ZLEN);
@@ -1382,11 +1386,16 @@ cfg80211_inform_single_bss_data(struct wiphy *wiphy,
		 */
		if (cfg80211_add_nontrans_list(non_tx_data->tx_bss,
					       &res->pub)) {
			if (__cfg80211_unlink_bss(rdev, res))
			if (__cfg80211_unlink_bss(rdev, res)) {
				rdev->bss_generation++;
				res = NULL;
			}
		}

		if (!res)
			return NULL;
	}

	trace_cfg80211_return_bss(&res->pub);
	/* cfg80211_bss_update gives us a referenced result */
	return &res->pub;
@@ -1540,7 +1549,7 @@ cfg80211_update_notlisted_nontrans(struct wiphy *wiphy,
	size_t new_ie_len;
	struct cfg80211_bss_ies *new_ies;
	const struct cfg80211_bss_ies *old;
	u8 cpy_len;
	size_t cpy_len;

	ie = mgmt->u.probe_resp.variable;