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

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

Merge c99a841d on remote branch

Change-Id: I1568e21baded8139319e266649bffde810e4a8a5
parents d72c0f28 c99a841d
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -190,6 +190,18 @@ config R8125_IOSS
	  To compile this driver as a module, choose M here. Module will be
	  To compile this driver as a module, choose M here. Module will be
	  called r8125_ioss. If unsure, say N.
	  called r8125_ioss. If unsure, say N.


config R8168_IOSS
	tristate "Realtek R8168 IOSS glue driver"
	depends on R8168
	depends on IOSS
	help
	  Enables IPA Ethernet Offload path on Realtek R8168 NIC. It is
	  designed to support generic HW processing of UL/DL IP packets for
	  various use cases to reduce the CPU load during E2E IP traffic.

	  To compile this driver as a module, choose M here. Module will be
	  called r8168_ioss. If unsure, say N.

config AQFWD_IOSS
config AQFWD_IOSS
	tristate "AQC glue driver for IOSS v2"
	tristate "AQC glue driver for IOSS v2"
	depends on AQFWD
	depends on AQFWD
+3 −0
Original line number Original line Diff line number Diff line
@@ -828,6 +828,9 @@ static void ep_pcie_core_init(struct ep_pcie_dev_t *dev, bool configured)
		ep_pcie_write_mask(dev->dm_core + PCIE20_L1SUB_CAPABILITY, 0,
		ep_pcie_write_mask(dev->dm_core + PCIE20_L1SUB_CAPABILITY, 0,
			0x1f);
			0x1f);


		/* Set CLK_PM_EN which allows to configure the clock-power-man bit below for EP */
		ep_pcie_write_mask(dev->elbi + PCIE20_ELBI_SYS_CTRL, 1, BIT(7));

		/* Enable Clock Power Management */
		/* Enable Clock Power Management */
		ep_pcie_write_reg_field(dev->dm_core, PCIE20_LINK_CAPABILITIES,
		ep_pcie_write_reg_field(dev->dm_core, PCIE20_LINK_CAPABILITIES,
			PCIE20_MASK_CLOCK_POWER_MAN, 0x1);
			PCIE20_MASK_CLOCK_POWER_MAN, 0x1);
+6 −0
Original line number Original line Diff line number Diff line
@@ -1617,6 +1617,7 @@ static long f_cdev_ioctl(struct file *fp, unsigned int cmd,
	int i = 0;
	int i = 0;
	uint32_t val;
	uint32_t val;
	struct f_cdev *port;
	struct f_cdev *port;
	unsigned long flags;


	port = fp->private_data;
	port = fp->private_data;
	if (!port) {
	if (!port) {
@@ -1638,11 +1639,13 @@ static long f_cdev_ioctl(struct file *fp, unsigned int cmd,
		break;
		break;
	case TIOCMGET:
	case TIOCMGET:
		pr_debug("TIOCMGET on port(%s)%pK\n", port->name, port);
		pr_debug("TIOCMGET on port(%s)%pK\n", port->name, port);
		spin_lock_irqsave(&port->port_lock, flags);
		ret = f_cdev_tiocmget(port);
		ret = f_cdev_tiocmget(port);
		if (ret >= 0) {
		if (ret >= 0) {
			ret = put_user(ret, (uint32_t *)arg);
			ret = put_user(ret, (uint32_t *)arg);
			port->cbits_updated = false;
			port->cbits_updated = false;
		}
		}
		spin_unlock_irqrestore(&port->port_lock, flags);
		break;
		break;
	default:
	default:
		pr_err("Received cmd:%d not supported\n", cmd);
		pr_err("Received cmd:%d not supported\n", cmd);
@@ -1658,6 +1661,7 @@ static void usb_cser_notify_modem(void *fport, int ctrl_bits)
	int temp;
	int temp;
	struct f_cdev *port = fport;
	struct f_cdev *port = fport;
	struct cserial *cser;
	struct cserial *cser;
	unsigned long flags;


	cser = &port->port_usb;
	cser = &port->port_usb;
	if (!port) {
	if (!port) {
@@ -1672,6 +1676,7 @@ static void usb_cser_notify_modem(void *fport, int ctrl_bits)
	if (temp == port->cbits_to_modem)
	if (temp == port->cbits_to_modem)
		return;
		return;


	spin_lock_irqsave(&port->port_lock, flags);
	port->cbits_to_modem = temp;
	port->cbits_to_modem = temp;
	port->cbits_updated = true;
	port->cbits_updated = true;


@@ -1686,6 +1691,7 @@ static void usb_cser_notify_modem(void *fport, int ctrl_bits)
			cser->send_modem_ctrl_bits(cser, cbits_to_laptop);
			cser->send_modem_ctrl_bits(cser, cbits_to_laptop);
	}
	}


	spin_unlock_irqrestore(&port->port_lock, flags);
	wake_up(&port->read_wq);
	wake_up(&port->read_wq);
}
}


+3 −1
Original line number Original line Diff line number Diff line
@@ -2,7 +2,7 @@
/*
/*
 * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
 * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
 *
 *
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */
 */


#ifndef _IPA_ETH_H_
#ifndef _IPA_ETH_H_
@@ -109,12 +109,14 @@ struct ipa_eth_aqc_setup_info {
 * @bar_size: bar region size
 * @bar_size: bar region size
 * @queue_number: Which RTK queue to check the status on
 * @queue_number: Which RTK queue to check the status on
 * @dest_tail_ptr_offs: tail ptr offset
 * @dest_tail_ptr_offs: tail ptr offset
 * @num_queues_enabled: Total queues to be enable
 */
 */
struct ipa_eth_realtek_setup_info {
struct ipa_eth_realtek_setup_info {
	phys_addr_t bar_addr;
	phys_addr_t bar_addr;
	u32 bar_size;
	u32 bar_size;
	u8 queue_number;
	u8 queue_number;
	phys_addr_t dest_tail_ptr_offs;
	phys_addr_t dest_tail_ptr_offs;
	u8 num_queues_enabled;
};
};