All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 1/2] qe: modify get_qe_base function
@ 2016-07-25  5:43 Zhao Qiang
  2016-07-25  5:43 ` [PATCH v5 2/2] QE: remove PPCisms for QE Zhao Qiang
  0 siblings, 1 reply; 11+ messages in thread
From: Zhao Qiang @ 2016-07-25  5:43 UTC (permalink / raw)
  To: oss; +Cc: linuxppc-dev, linux-kernel, xiaobo.xie, Zhao Qiang

modify get_qe_base function with of_address_to_resource
instead of of_get_property and of_translate_address.

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
---
Changes for v2:
	- na
Changes for v3:
	- na
Changes for v4:
	- na
Changes for v5:
	- na

 drivers/soc/fsl/qe/qe.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/soc/fsl/qe/qe.c b/drivers/soc/fsl/qe/qe.c
index 7026507..2707a82 100644
--- a/drivers/soc/fsl/qe/qe.c
+++ b/drivers/soc/fsl/qe/qe.c
@@ -69,8 +69,8 @@ static phys_addr_t qebase = -1;
 phys_addr_t get_qe_base(void)
 {
 	struct device_node *qe;
-	int size;
-	const u32 *prop;
+	int ret;
+	struct resource res;
 
 	if (qebase != -1)
 		return qebase;
@@ -82,9 +82,9 @@ phys_addr_t get_qe_base(void)
 			return qebase;
 	}
 
-	prop = of_get_property(qe, "reg", &size);
-	if (prop && size >= sizeof(*prop))
-		qebase = of_translate_address(qe, prop);
+	ret = of_address_to_resource(qe, 0, &res);
+	if (!ret)
+		qebase = res.start;
 	of_node_put(qe);
 
 	return qebase;
-- 
2.1.0.27.g96db324

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-07-25  5:43 [PATCH v5 1/2] qe: modify get_qe_base function Zhao Qiang
@ 2016-07-25  5:43 ` Zhao Qiang
  2016-09-19 20:13   ` Leo Li
  0 siblings, 1 reply; 11+ messages in thread
From: Zhao Qiang @ 2016-07-25  5:43 UTC (permalink / raw)
  To: oss; +Cc: linuxppc-dev, linux-kernel, xiaobo.xie, Zhao Qiang

QE was supported on PowerPC, and dependent on PPC,
Now it is supported on other platforms. so remove PPCisms.

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
---
Changes for v2:
	- na
Changes for v3:
	- add NO_IRQ
Changes for v4:
	- modify spin_event_timeout to opencoded timeout loop
	- remove NO_IRQ
	- modify virq_to_hw to opencoed code
Changes for v5:
	- modify commit msg
	- modify depends of QUICC_ENGINE
	- add kerneldoc header for qe_issue_cmd

 drivers/irqchip/qe_ic.c       | 28 +++++++++------
 drivers/soc/fsl/qe/Kconfig    |  2 +-
 drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++-----------------
 drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
 drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
 drivers/soc/fsl/qe/ucc.c      | 10 +++---
 drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++------------------
 include/soc/fsl/qe/qe.h       |  1 -
 include/soc/fsl/qe/qe_ic.h    | 12 +++----
 9 files changed, 133 insertions(+), 118 deletions(-)

diff --git a/drivers/irqchip/qe_ic.c b/drivers/irqchip/qe_ic.c
index 46652c0..32deb60 100644
--- a/drivers/irqchip/qe_ic.c
+++ b/drivers/irqchip/qe_ic.c
@@ -18,7 +18,10 @@
 #include <linux/of_address.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/irqdomain.h>
 #include <linux/errno.h>
+#include <linux/of_address.h>
+#include <linux/of_irq.h>
 #include <linux/reboot.h>
 #include <linux/slab.h>
 #include <linux/stddef.h>
@@ -177,13 +180,13 @@ static struct qe_ic_info qe_ic_info[] = {
 
 static inline u32 qe_ic_read(volatile __be32  __iomem * base, unsigned int reg)
 {
-	return in_be32(base + (reg >> 2));
+	return ioread32be(base + (reg >> 2));
 }
 
 static inline void qe_ic_write(volatile __be32  __iomem * base, unsigned int reg,
 			       u32 value)
 {
-	out_be32(base + (reg >> 2), value);
+	iowrite32be(value, base + (reg >> 2));
 }
 
 static inline struct qe_ic *qe_ic_from_irq(unsigned int virq)
@@ -285,7 +288,7 @@ static const struct irq_domain_ops qe_ic_host_ops = {
 	.xlate = irq_domain_xlate_onetwocell,
 };
 
-/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */
+/* Return an interrupt vector or 0 if no interrupt is pending. */
 unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)
 {
 	int irq;
@@ -296,12 +299,12 @@ unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)
 	irq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26;
 
 	if (irq == 0)
-		return NO_IRQ;
+		return 0;
 
 	return irq_linear_revmap(qe_ic->irqhost, irq);
 }
 
-/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */
+/* Return an interrupt vector or 0 if no interrupt is pending. */
 unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)
 {
 	int irq;
@@ -312,7 +315,7 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)
 	irq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26;
 
 	if (irq == 0)
-		return NO_IRQ;
+		return 0;
 
 	return irq_linear_revmap(qe_ic->irqhost, irq);
 }
@@ -355,7 +358,7 @@ static int __init qe_ic_init(unsigned int flags)
 	qe_ic->virq_high = irq_of_parse_and_map(node, 0);
 	qe_ic->virq_low = irq_of_parse_and_map(node, 1);
 
-	if (qe_ic->virq_low == NO_IRQ) {
+	if (qe_ic->virq_low == 0) {
 		pr_err("Failed to map QE_IC low IRQ\n");
 		ret = -ENOMEM;
 		goto err_domain_remove;
@@ -387,7 +390,7 @@ static int __init qe_ic_init(unsigned int flags)
 	irq_set_handler_data(qe_ic->virq_low, qe_ic);
 	irq_set_chained_handler(qe_ic->virq_low, qe_ic_cascade_low_mpic);
 
-	if (qe_ic->virq_high != NO_IRQ &&
+	if (qe_ic->virq_high != 0 &&
 			qe_ic->virq_high != qe_ic->virq_low) {
 		irq_set_handler_data(qe_ic->virq_high, qe_ic);
 		irq_set_chained_handler(qe_ic->virq_high,
@@ -407,7 +410,8 @@ err_put_node:
 void qe_ic_set_highest_priority(unsigned int virq, int high)
 {
 	struct qe_ic *qe_ic = qe_ic_from_irq(virq);
-	unsigned int src = virq_to_hw(virq);
+	struct irq_data *irq_data = irq_get_irq_data(virq);
+	irq_hw_number_t src = WARN_ON(!irq_data) ? 0 : irq_data->hwirq;
 	u32 temp = 0;
 
 	temp = qe_ic_read(qe_ic->regs, QEIC_CICR);
@@ -425,7 +429,8 @@ void qe_ic_set_highest_priority(unsigned int virq, int high)
 int qe_ic_set_priority(unsigned int virq, unsigned int priority)
 {
 	struct qe_ic *qe_ic = qe_ic_from_irq(virq);
-	unsigned int src = virq_to_hw(virq);
+	struct irq_data *irq_data = irq_get_irq_data(virq);
+	irq_hw_number_t src = WARN_ON(!irq_data) ? 0 : irq_data->hwirq;
 	u32 temp;
 
 	if (priority > 8 || priority == 0)
@@ -455,7 +460,8 @@ int qe_ic_set_priority(unsigned int virq, unsigned int priority)
 int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high)
 {
 	struct qe_ic *qe_ic = qe_ic_from_irq(virq);
-	unsigned int src = virq_to_hw(virq);
+	struct irq_data *irq_data = irq_get_irq_data(virq);
+	irq_hw_number_t src = WARN_ON(!irq_data) ? 0 : irq_data->hwirq;
 	u32 temp, control_reg = QEIC_CICNR, shift = 0;
 
 	if (priority > 2 || priority == 0)
diff --git a/drivers/soc/fsl/qe/Kconfig b/drivers/soc/fsl/qe/Kconfig
index 73a2e08..b26b643 100644
--- a/drivers/soc/fsl/qe/Kconfig
+++ b/drivers/soc/fsl/qe/Kconfig
@@ -4,7 +4,7 @@
 
 config QUICC_ENGINE
 	bool "Freescale QUICC Engine (QE) Support"
-	depends on FSL_SOC && PPC32
+	depends on OF && HAS_IOMEM
 	select GENERIC_ALLOCATOR
 	select CRC32
 	help
diff --git a/drivers/soc/fsl/qe/qe.c b/drivers/soc/fsl/qe/qe.c
index 2707a82..2b53e85 100644
--- a/drivers/soc/fsl/qe/qe.c
+++ b/drivers/soc/fsl/qe/qe.c
@@ -33,8 +33,6 @@
 #include <asm/pgtable.h>
 #include <soc/fsl/qe/immap_qe.h>
 #include <soc/fsl/qe/qe.h>
-#include <asm/prom.h>
-#include <asm/rheap.h>
 
 static void qe_snums_init(void);
 static int qe_sdma_init(void);
@@ -109,15 +107,27 @@ void qe_reset(void)
 		panic("sdma init failed!");
 }
 
+/* issue commands to QE, return 0 on success while -EIO on error
+ *
+ * @cmd: the command code, should be QE_INIT_TX_RX, QE_STOP_TX and so on
+ * @device: which sub-block will run the command, QE_CR_SUBBLOCK_UCCFAST1 - 8
+ * , QE_CR_SUBBLOCK_UCCSLOW1 - 8, QE_CR_SUBBLOCK_MCC1 - 3,
+ * QE_CR_SUBBLOCK_IDMA1 - 4 and such on.
+ * @mcn_protocol: specifies mode for the command for non-MCC, should be
+ * QE_CR_PROTOCOL_HDLC_TRANSPARENT, QE_CR_PROTOCOL_QMC, QE_CR_PROTOCOL_UART
+ * and such on.
+ * @cmd_input: command related data.
+ */
 int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input)
 {
 	unsigned long flags;
 	u8 mcn_shift = 0, dev_shift = 0;
-	u32 ret;
+	int ret;
+	int i;
 
 	spin_lock_irqsave(&qe_lock, flags);
 	if (cmd == QE_RESET) {
-		out_be32(&qe_immr->cp.cecr, (u32) (cmd | QE_CR_FLG));
+		iowrite32be((cmd | QE_CR_FLG), &qe_immr->cp.cecr);
 	} else {
 		if (cmd == QE_ASSIGN_PAGE) {
 			/* Here device is the SNUM, not sub-block */
@@ -134,20 +144,26 @@ int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input)
 				mcn_shift = QE_CR_MCN_NORMAL_SHIFT;
 		}
 
-		out_be32(&qe_immr->cp.cecdr, cmd_input);
-		out_be32(&qe_immr->cp.cecr,
-			 (cmd | QE_CR_FLG | ((u32) device << dev_shift) | (u32)
-			  mcn_protocol << mcn_shift));
+		iowrite32be(cmd_input, &qe_immr->cp.cecdr);
+		iowrite32be((cmd | QE_CR_FLG | ((u32)device << dev_shift) |
+			    (u32)mcn_protocol << mcn_shift), &qe_immr->cp.cecr);
 	}
 
 	/* wait for the QE_CR_FLG to clear */
-	ret = spin_event_timeout((in_be32(&qe_immr->cp.cecr) & QE_CR_FLG) == 0,
-			   100, 0);
+	ret = -EIO;
+	for (i = 0; i < 100; i++) {
+		if ((ioread32be(&qe_immr->cp.cecr) & QE_CR_FLG) == 0) {
+			ret = 0;
+			break;
+		}
+		udelay(1);
+	}
+
 	/* On timeout (e.g. failure), the expression will be false (ret == 0),
 	   otherwise it will be true (ret == 1). */
 	spin_unlock_irqrestore(&qe_lock, flags);
 
-	return ret == 1;
+	return ret;
 }
 EXPORT_SYMBOL(qe_issue_cmd);
 
@@ -166,8 +182,8 @@ static unsigned int brg_clk = 0;
 unsigned int qe_get_brg_clk(void)
 {
 	struct device_node *qe;
-	int size;
-	const u32 *prop;
+	u32 val;
+	int ret;
 
 	if (brg_clk)
 		return brg_clk;
@@ -179,9 +195,9 @@ unsigned int qe_get_brg_clk(void)
 			return brg_clk;
 	}
 
-	prop = of_get_property(qe, "brg-frequency", &size);
-	if (prop && size == sizeof(*prop))
-		brg_clk = *prop;
+	ret = of_property_read_u32(qe, "brg-frequency", &val);
+	if (!ret)
+		brg_clk = val;
 
 	of_node_put(qe);
 
@@ -221,7 +237,7 @@ int qe_setbrg(enum qe_clock brg, unsigned int rate, unsigned int multiplier)
 	tempval = ((divisor - 1) << QE_BRGC_DIVISOR_SHIFT) |
 		QE_BRGC_ENABLE | div16;
 
-	out_be32(&qe_immr->brg.brgc[brg - QE_BRG1], tempval);
+	iowrite32be(tempval, &qe_immr->brg.brgc[brg - QE_BRG1]);
 
 	return 0;
 }
@@ -355,9 +371,9 @@ static int qe_sdma_init(void)
 			return -ENOMEM;
 	}
 
-	out_be32(&sdma->sdebcr, (u32) sdma_buf_offset & QE_SDEBCR_BA_MASK);
- 	out_be32(&sdma->sdmr, (QE_SDMR_GLB_1_MSK |
- 					(0x1 << QE_SDMR_CEN_SHIFT)));
+	iowrite32be((u32)sdma_buf_offset & QE_SDEBCR_BA_MASK, &sdma->sdebcr);
+	iowrite32be((QE_SDMR_GLB_1_MSK | (0x1 << QE_SDMR_CEN_SHIFT)),
+		    &sdma->sdmr);
 
 	return 0;
 }
@@ -395,14 +411,14 @@ static void qe_upload_microcode(const void *base,
 			"uploading microcode '%s'\n", ucode->id);
 
 	/* Use auto-increment */
-	out_be32(&qe_immr->iram.iadd, be32_to_cpu(ucode->iram_offset) |
-		QE_IRAM_IADD_AIE | QE_IRAM_IADD_BADDR);
+	iowrite32be(be32_to_cpu(ucode->iram_offset) | QE_IRAM_IADD_AIE |
+		    QE_IRAM_IADD_BADDR, &qe_immr->iram.iadd);
 
 	for (i = 0; i < be32_to_cpu(ucode->count); i++)
-		out_be32(&qe_immr->iram.idata, be32_to_cpu(code[i]));
+		iowrite32be(be32_to_cpu(code[i]), &qe_immr->iram.idata);
 	
 	/* Set I-RAM Ready Register */
-	out_be32(&qe_immr->iram.iready, be32_to_cpu(QE_IRAM_READY));
+	iowrite32be(be32_to_cpu(QE_IRAM_READY), &qe_immr->iram.iready);
 }
 
 /*
@@ -487,7 +503,7 @@ int qe_upload_firmware(const struct qe_firmware *firmware)
 	 * If the microcode calls for it, split the I-RAM.
 	 */
 	if (!firmware->split)
-		setbits16(&qe_immr->cp.cercr, QE_CP_CERCR_CIR);
+		qe_setbits16(&qe_immr->cp.cercr, QE_CP_CERCR_CIR);
 
 	if (firmware->soc.model)
 		printk(KERN_INFO
@@ -521,11 +537,11 @@ int qe_upload_firmware(const struct qe_firmware *firmware)
 			u32 trap = be32_to_cpu(ucode->traps[j]);
 
 			if (trap)
-				out_be32(&qe_immr->rsp[i].tibcr[j], trap);
+				iowrite32be(trap, &qe_immr->rsp[i].tibcr[j]);
 		}
 
 		/* Enable traps */
-		out_be32(&qe_immr->rsp[i].eccr, be32_to_cpu(ucode->eccr));
+		iowrite32be(be32_to_cpu(ucode->eccr), &qe_immr->rsp[i].eccr);
 	}
 
 	qe_firmware_uploaded = 1;
@@ -644,9 +660,9 @@ EXPORT_SYMBOL(qe_get_num_of_risc);
 unsigned int qe_get_num_of_snums(void)
 {
 	struct device_node *qe;
-	int size;
 	unsigned int num_of_snums;
-	const u32 *prop;
+	u32 val;
+	int ret;
 
 	num_of_snums = 28; /* The default number of snum for threads is 28 */
 	qe = of_find_compatible_node(NULL, NULL, "fsl,qe");
@@ -660,9 +676,9 @@ unsigned int qe_get_num_of_snums(void)
 			return num_of_snums;
 	}
 
-	prop = of_get_property(qe, "fsl,qe-num-snums", &size);
-	if (prop && size == sizeof(*prop)) {
-		num_of_snums = *prop;
+	ret = of_property_read_u32(qe, "fsl,qe-num-snums", &val);
+	if (!ret) {
+		num_of_snums = val;
 		if ((num_of_snums < 28) || (num_of_snums > QE_NUM_OF_SNUM)) {
 			/* No QE ever has fewer than 28 SNUMs */
 			pr_err("QE: number of snum is invalid\n");
diff --git a/drivers/soc/fsl/qe/qe_io.c b/drivers/soc/fsl/qe/qe_io.c
index 7ae59ab..8966e8b 100644
--- a/drivers/soc/fsl/qe/qe_io.c
+++ b/drivers/soc/fsl/qe/qe_io.c
@@ -22,8 +22,6 @@
 
 #include <asm/io.h>
 #include <soc/fsl/qe/qe.h>
-#include <asm/prom.h>
-#include <sysdev/fsl_soc.h>
 
 #undef DEBUG
 
@@ -61,16 +59,16 @@ void __par_io_config_pin(struct qe_pio_regs __iomem *par_io, u8 pin, int dir,
 	pin_mask1bit = (u32) (1 << (QE_PIO_PINS - (pin + 1)));
 
 	/* Set open drain, if required */
-	tmp_val = in_be32(&par_io->cpodr);
+	tmp_val = ioread32be(&par_io->cpodr);
 	if (open_drain)
-		out_be32(&par_io->cpodr, pin_mask1bit | tmp_val);
+		iowrite32be(pin_mask1bit | tmp_val, &par_io->cpodr);
 	else
-		out_be32(&par_io->cpodr, ~pin_mask1bit & tmp_val);
+		iowrite32be(~pin_mask1bit & tmp_val, &par_io->cpodr);
 
 	/* define direction */
 	tmp_val = (pin > (QE_PIO_PINS / 2) - 1) ?
-		in_be32(&par_io->cpdir2) :
-		in_be32(&par_io->cpdir1);
+		ioread32be(&par_io->cpdir2) :
+		ioread32be(&par_io->cpdir1);
 
 	/* get all bits mask for 2 bit per port */
 	pin_mask2bits = (u32) (0x3 << (QE_PIO_PINS -
@@ -82,34 +80,30 @@ void __par_io_config_pin(struct qe_pio_regs __iomem *par_io, u8 pin, int dir,
 
 	/* clear and set 2 bits mask */
 	if (pin > (QE_PIO_PINS / 2) - 1) {
-		out_be32(&par_io->cpdir2,
-			 ~pin_mask2bits & tmp_val);
+		iowrite32be(~pin_mask2bits & tmp_val, &par_io->cpdir2);
 		tmp_val &= ~pin_mask2bits;
-		out_be32(&par_io->cpdir2, new_mask2bits | tmp_val);
+		iowrite32be(new_mask2bits | tmp_val, &par_io->cpdir2);
 	} else {
-		out_be32(&par_io->cpdir1,
-			 ~pin_mask2bits & tmp_val);
+		iowrite32be(~pin_mask2bits & tmp_val, &par_io->cpdir1);
 		tmp_val &= ~pin_mask2bits;
-		out_be32(&par_io->cpdir1, new_mask2bits | tmp_val);
+		iowrite32be(new_mask2bits | tmp_val, &par_io->cpdir1);
 	}
 	/* define pin assignment */
 	tmp_val = (pin > (QE_PIO_PINS / 2) - 1) ?
-		in_be32(&par_io->cppar2) :
-		in_be32(&par_io->cppar1);
+		ioread32be(&par_io->cppar2) :
+		ioread32be(&par_io->cppar1);
 
 	new_mask2bits = (u32) (assignment << (QE_PIO_PINS -
 			(pin % (QE_PIO_PINS / 2) + 1) * 2));
 	/* clear and set 2 bits mask */
 	if (pin > (QE_PIO_PINS / 2) - 1) {
-		out_be32(&par_io->cppar2,
-			 ~pin_mask2bits & tmp_val);
+		iowrite32be(~pin_mask2bits & tmp_val, &par_io->cppar2);
 		tmp_val &= ~pin_mask2bits;
-		out_be32(&par_io->cppar2, new_mask2bits | tmp_val);
+		iowrite32be(new_mask2bits | tmp_val, &par_io->cppar2);
 	} else {
-		out_be32(&par_io->cppar1,
-			 ~pin_mask2bits & tmp_val);
+		iowrite32be(~pin_mask2bits & tmp_val, &par_io->cppar1);
 		tmp_val &= ~pin_mask2bits;
-		out_be32(&par_io->cppar1, new_mask2bits | tmp_val);
+		iowrite32be(new_mask2bits | tmp_val, &par_io->cppar1);
 	}
 }
 EXPORT_SYMBOL(__par_io_config_pin);
@@ -137,12 +131,12 @@ int par_io_data_set(u8 port, u8 pin, u8 val)
 	/* calculate pin location */
 	pin_mask = (u32) (1 << (QE_PIO_PINS - 1 - pin));
 
-	tmp_val = in_be32(&par_io[port].cpdata);
+	tmp_val = ioread32be(&par_io[port].cpdata);
 
 	if (val == 0)		/* clear */
-		out_be32(&par_io[port].cpdata, ~pin_mask & tmp_val);
+		iowrite32be(~pin_mask & tmp_val, &par_io[port].cpdata);
 	else			/* set */
-		out_be32(&par_io[port].cpdata, pin_mask | tmp_val);
+		iowrite32be(pin_mask | tmp_val, &par_io[port].cpdata);
 
 	return 0;
 }
diff --git a/drivers/soc/fsl/qe/qe_tdm.c b/drivers/soc/fsl/qe/qe_tdm.c
index 5e48b14..974154f 100644
--- a/drivers/soc/fsl/qe/qe_tdm.c
+++ b/drivers/soc/fsl/qe/qe_tdm.c
@@ -227,10 +227,10 @@ void ucc_tdm_init(struct ucc_tdm *utdm, struct ucc_tdm_info *ut_info)
 				    &siram[siram_entry_id * 32 + 0x200 +  i]);
 	}
 
-	setbits16(&siram[(siram_entry_id * 32) + (utdm->num_of_ts - 1)],
-		  SIR_LAST);
-	setbits16(&siram[(siram_entry_id * 32) + 0x200 + (utdm->num_of_ts - 1)],
-		  SIR_LAST);
+	qe_setbits16(&siram[(siram_entry_id * 32) + (utdm->num_of_ts - 1)],
+		     SIR_LAST);
+	qe_setbits16(&siram[(siram_entry_id * 32) + 0x200 +
+		     (utdm->num_of_ts - 1)], SIR_LAST);
 
 	/* Set SIxMR register */
 	sixmr = SIMR_SAD(siram_entry_id);
diff --git a/drivers/soc/fsl/qe/ucc.c b/drivers/soc/fsl/qe/ucc.c
index c646d87..bc64b83 100644
--- a/drivers/soc/fsl/qe/ucc.c
+++ b/drivers/soc/fsl/qe/ucc.c
@@ -39,7 +39,7 @@ int ucc_set_qe_mux_mii_mng(unsigned int ucc_num)
 		return -EINVAL;
 
 	spin_lock_irqsave(&cmxgcr_lock, flags);
-	clrsetbits_be32(&qe_immr->qmx.cmxgcr, QE_CMXGCR_MII_ENET_MNG,
+	qe_clrsetbits32(&qe_immr->qmx.cmxgcr, QE_CMXGCR_MII_ENET_MNG,
 		ucc_num << QE_CMXGCR_MII_ENET_MNG_SHIFT);
 	spin_unlock_irqrestore(&cmxgcr_lock, flags);
 
@@ -84,7 +84,7 @@ int ucc_set_type(unsigned int ucc_num, enum ucc_speed_type speed)
 		return -EINVAL;
 	}
 
-	clrsetbits_8(guemr, UCC_GUEMR_MODE_MASK,
+	qe_clrsetbits8(guemr, UCC_GUEMR_MODE_MASK,
 		UCC_GUEMR_SET_RESERVED3 | speed);
 
 	return 0;
@@ -113,9 +113,9 @@ int ucc_mux_set_grant_tsa_bkpt(unsigned int ucc_num, int set, u32 mask)
 	get_cmxucr_reg(ucc_num, &cmxucr, &reg_num, &shift);
 
 	if (set)
-		setbits32(cmxucr, mask << shift);
+		qe_setbits32(cmxucr, mask << shift);
 	else
-		clrbits32(cmxucr, mask << shift);
+		qe_clrbits32(cmxucr, mask << shift);
 
 	return 0;
 }
@@ -211,7 +211,7 @@ int ucc_set_qe_mux_rxtx(unsigned int ucc_num, enum qe_clock clock,
 	if (mode == COMM_DIR_RX)
 		shift += 4;
 
-	clrsetbits_be32(cmxucr, QE_CMXUCR_TX_CLK_SRC_MASK << shift,
+	qe_clrsetbits32(cmxucr, QE_CMXUCR_TX_CLK_SRC_MASK << shift,
 		clock_bits << shift);
 
 	return 0;
diff --git a/drivers/soc/fsl/qe/ucc_fast.c b/drivers/soc/fsl/qe/ucc_fast.c
index 83d8d16..3a0224c 100644
--- a/drivers/soc/fsl/qe/ucc_fast.c
+++ b/drivers/soc/fsl/qe/ucc_fast.c
@@ -33,41 +33,41 @@ void ucc_fast_dump_regs(struct ucc_fast_private * uccf)
 	printk(KERN_INFO "Base address: 0x%p\n", uccf->uf_regs);
 
 	printk(KERN_INFO "gumr  : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->gumr, in_be32(&uccf->uf_regs->gumr));
+	       &uccf->uf_regs->gumr, ioread32be(&uccf->uf_regs->gumr));
 	printk(KERN_INFO "upsmr : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->upsmr, in_be32(&uccf->uf_regs->upsmr));
+		  &uccf->uf_regs->upsmr, ioread32be(&uccf->uf_regs->upsmr));
 	printk(KERN_INFO "utodr : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->utodr, in_be16(&uccf->uf_regs->utodr));
+		  &uccf->uf_regs->utodr, ioread16be(&uccf->uf_regs->utodr));
 	printk(KERN_INFO "udsr  : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->udsr, in_be16(&uccf->uf_regs->udsr));
+		  &uccf->uf_regs->udsr, ioread16be(&uccf->uf_regs->udsr));
 	printk(KERN_INFO "ucce  : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->ucce, in_be32(&uccf->uf_regs->ucce));
+		  &uccf->uf_regs->ucce, ioread32be(&uccf->uf_regs->ucce));
 	printk(KERN_INFO "uccm  : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->uccm, in_be32(&uccf->uf_regs->uccm));
+		  &uccf->uf_regs->uccm, ioread32be(&uccf->uf_regs->uccm));
 	printk(KERN_INFO "uccs  : addr=0x%p, val=0x%02x\n",
-		  &uccf->uf_regs->uccs, in_8(&uccf->uf_regs->uccs));
+		  &uccf->uf_regs->uccs, ioread8(&uccf->uf_regs->uccs));
 	printk(KERN_INFO "urfb  : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->urfb, in_be32(&uccf->uf_regs->urfb));
+		  &uccf->uf_regs->urfb, ioread32be(&uccf->uf_regs->urfb));
 	printk(KERN_INFO "urfs  : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->urfs, in_be16(&uccf->uf_regs->urfs));
+		  &uccf->uf_regs->urfs, ioread16be(&uccf->uf_regs->urfs));
 	printk(KERN_INFO "urfet : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->urfet, in_be16(&uccf->uf_regs->urfet));
+		  &uccf->uf_regs->urfet, ioread16be(&uccf->uf_regs->urfet));
 	printk(KERN_INFO "urfset: addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->urfset, in_be16(&uccf->uf_regs->urfset));
+		  &uccf->uf_regs->urfset, ioread16be(&uccf->uf_regs->urfset));
 	printk(KERN_INFO "utfb  : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->utfb, in_be32(&uccf->uf_regs->utfb));
+		  &uccf->uf_regs->utfb, ioread32be(&uccf->uf_regs->utfb));
 	printk(KERN_INFO "utfs  : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->utfs, in_be16(&uccf->uf_regs->utfs));
+		  &uccf->uf_regs->utfs, ioread16be(&uccf->uf_regs->utfs));
 	printk(KERN_INFO "utfet : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->utfet, in_be16(&uccf->uf_regs->utfet));
+		  &uccf->uf_regs->utfet, ioread16be(&uccf->uf_regs->utfet));
 	printk(KERN_INFO "utftt : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->utftt, in_be16(&uccf->uf_regs->utftt));
+		  &uccf->uf_regs->utftt, ioread16be(&uccf->uf_regs->utftt));
 	printk(KERN_INFO "utpt  : addr=0x%p, val=0x%04x\n",
-		  &uccf->uf_regs->utpt, in_be16(&uccf->uf_regs->utpt));
+		  &uccf->uf_regs->utpt, ioread16be(&uccf->uf_regs->utpt));
 	printk(KERN_INFO "urtry : addr=0x%p, val=0x%08x\n",
-		  &uccf->uf_regs->urtry, in_be32(&uccf->uf_regs->urtry));
+		  &uccf->uf_regs->urtry, ioread32be(&uccf->uf_regs->urtry));
 	printk(KERN_INFO "guemr : addr=0x%p, val=0x%02x\n",
-		  &uccf->uf_regs->guemr, in_8(&uccf->uf_regs->guemr));
+		  &uccf->uf_regs->guemr, ioread8(&uccf->uf_regs->guemr));
 }
 EXPORT_SYMBOL(ucc_fast_dump_regs);
 
@@ -89,7 +89,7 @@ EXPORT_SYMBOL(ucc_fast_get_qe_cr_subblock);
 
 void ucc_fast_transmit_on_demand(struct ucc_fast_private * uccf)
 {
-	out_be16(&uccf->uf_regs->utodr, UCC_FAST_TOD);
+	iowrite16be(UCC_FAST_TOD, &uccf->uf_regs->utodr);
 }
 EXPORT_SYMBOL(ucc_fast_transmit_on_demand);
 
@@ -101,7 +101,7 @@ void ucc_fast_enable(struct ucc_fast_private * uccf, enum comm_dir mode)
 	uf_regs = uccf->uf_regs;
 
 	/* Enable reception and/or transmission on this UCC. */
-	gumr = in_be32(&uf_regs->gumr);
+	gumr = ioread32be(&uf_regs->gumr);
 	if (mode & COMM_DIR_TX) {
 		gumr |= UCC_FAST_GUMR_ENT;
 		uccf->enabled_tx = 1;
@@ -110,7 +110,7 @@ void ucc_fast_enable(struct ucc_fast_private * uccf, enum comm_dir mode)
 		gumr |= UCC_FAST_GUMR_ENR;
 		uccf->enabled_rx = 1;
 	}
-	out_be32(&uf_regs->gumr, gumr);
+	iowrite32be(gumr, &uf_regs->gumr);
 }
 EXPORT_SYMBOL(ucc_fast_enable);
 
@@ -122,7 +122,7 @@ void ucc_fast_disable(struct ucc_fast_private * uccf, enum comm_dir mode)
 	uf_regs = uccf->uf_regs;
 
 	/* Disable reception and/or transmission on this UCC. */
-	gumr = in_be32(&uf_regs->gumr);
+	gumr = ioread32be(&uf_regs->gumr);
 	if (mode & COMM_DIR_TX) {
 		gumr &= ~UCC_FAST_GUMR_ENT;
 		uccf->enabled_tx = 0;
@@ -131,7 +131,7 @@ void ucc_fast_disable(struct ucc_fast_private * uccf, enum comm_dir mode)
 		gumr &= ~UCC_FAST_GUMR_ENR;
 		uccf->enabled_rx = 0;
 	}
-	out_be32(&uf_regs->gumr, gumr);
+	iowrite32be(gumr, &uf_regs->gumr);
 }
 EXPORT_SYMBOL(ucc_fast_disable);
 
@@ -263,7 +263,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
 	gumr |= uf_info->tenc;
 	gumr |= uf_info->tcrc;
 	gumr |= uf_info->mode;
-	out_be32(&uf_regs->gumr, gumr);
+	iowrite32be(gumr, &uf_regs->gumr);
 
 	/* Allocate memory for Tx Virtual Fifo */
 	uccf->ucc_fast_tx_virtual_fifo_base_offset =
@@ -290,15 +290,15 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
 	}
 
 	/* Set Virtual Fifo registers */
-	out_be16(&uf_regs->urfs, uf_info->urfs);
-	out_be16(&uf_regs->urfet, uf_info->urfet);
-	out_be16(&uf_regs->urfset, uf_info->urfset);
-	out_be16(&uf_regs->utfs, uf_info->utfs);
-	out_be16(&uf_regs->utfet, uf_info->utfet);
-	out_be16(&uf_regs->utftt, uf_info->utftt);
+	iowrite16be(uf_info->urfs, &uf_regs->urfs);
+	iowrite16be(uf_info->urfet, &uf_regs->urfet);
+	iowrite16be(uf_info->urfset, &uf_regs->urfset);
+	iowrite16be(uf_info->utfs, &uf_regs->utfs);
+	iowrite16be(uf_info->utfet, &uf_regs->utfet);
+	iowrite16be(uf_info->utftt, &uf_regs->utftt);
 	/* utfb, urfb are offsets from MURAM base */
-	out_be32(&uf_regs->utfb, uccf->ucc_fast_tx_virtual_fifo_base_offset);
-	out_be32(&uf_regs->urfb, uccf->ucc_fast_rx_virtual_fifo_base_offset);
+	iowrite32be(uccf->ucc_fast_tx_virtual_fifo_base_offset, &uf_regs->utfb);
+	iowrite32be(uccf->ucc_fast_rx_virtual_fifo_base_offset, &uf_regs->urfb);
 
 	/* Mux clocking */
 	/* Grant Support */
@@ -366,14 +366,14 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
 	}
 
 	/* Set interrupt mask register at UCC level. */
-	out_be32(&uf_regs->uccm, uf_info->uccm_mask);
+	iowrite32be(uf_info->uccm_mask, &uf_regs->uccm);
 
 	/* First, clear anything pending at UCC level,
 	 * otherwise, old garbage may come through
 	 * as soon as the dam is opened. */
 
 	/* Writing '1' clears */
-	out_be32(&uf_regs->ucce, 0xffffffff);
+	iowrite32be(0xffffffff, &uf_regs->ucce);
 
 	*uccf_ret = uccf;
 	return 0;
diff --git a/include/soc/fsl/qe/qe.h b/include/soc/fsl/qe/qe.h
index 70339d7..f7a14f2 100644
--- a/include/soc/fsl/qe/qe.h
+++ b/include/soc/fsl/qe/qe.h
@@ -21,7 +21,6 @@
 #include <linux/spinlock.h>
 #include <linux/errno.h>
 #include <linux/err.h>
-#include <asm/cpm.h>
 #include <soc/fsl/qe/immap_qe.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
diff --git a/include/soc/fsl/qe/qe_ic.h b/include/soc/fsl/qe/qe_ic.h
index 6113699..863cfec 100644
--- a/include/soc/fsl/qe/qe_ic.h
+++ b/include/soc/fsl/qe/qe_ic.h
@@ -76,7 +76,7 @@ static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc)
 	struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
 	unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);
 
-	if (cascade_irq != NO_IRQ)
+	if (cascade_irq != 0)
 		generic_handle_irq(cascade_irq);
 }
 
@@ -85,7 +85,7 @@ static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc)
 	struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
 	unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);
 
-	if (cascade_irq != NO_IRQ)
+	if (cascade_irq != 0)
 		generic_handle_irq(cascade_irq);
 }
 
@@ -95,7 +95,7 @@ static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc)
 	unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
 
-	if (cascade_irq != NO_IRQ)
+	if (cascade_irq != 0)
 		generic_handle_irq(cascade_irq);
 
 	chip->irq_eoi(&desc->irq_data);
@@ -107,7 +107,7 @@ static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc)
 	unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
 
-	if (cascade_irq != NO_IRQ)
+	if (cascade_irq != 0)
 		generic_handle_irq(cascade_irq);
 
 	chip->irq_eoi(&desc->irq_data);
@@ -120,10 +120,10 @@ static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc)
 	struct irq_chip *chip = irq_desc_get_chip(desc);
 
 	cascade_irq = qe_ic_get_high_irq(qe_ic);
-	if (cascade_irq == NO_IRQ)
+	if (cascade_irq == 0)
 		cascade_irq = qe_ic_get_low_irq(qe_ic);
 
-	if (cascade_irq != NO_IRQ)
+	if (cascade_irq != 0)
 		generic_handle_irq(cascade_irq);
 
 	chip->irq_eoi(&desc->irq_data);
-- 
2.1.0.27.g96db324

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-07-25  5:43 ` [PATCH v5 2/2] QE: remove PPCisms for QE Zhao Qiang
@ 2016-09-19 20:13   ` Leo Li
  2016-09-21  1:13       ` Qiang Zhao
  0 siblings, 1 reply; 11+ messages in thread
From: Leo Li @ 2016-09-19 20:13 UTC (permalink / raw)
  To: Zhao Qiang; +Cc: Scott Wood, linuxppc-dev, lkml, Xiaobo Xie

On Mon, Jul 25, 2016 at 12:43 AM, Zhao Qiang <qiang.zhao@nxp.com> wrote:
> QE was supported on PowerPC, and dependent on PPC,
> Now it is supported on other platforms. so remove PPCisms.
>
> Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
> ---
> Changes for v2:
>         - na
> Changes for v3:
>         - add NO_IRQ
> Changes for v4:
>         - modify spin_event_timeout to opencoded timeout loop
>         - remove NO_IRQ
>         - modify virq_to_hw to opencoed code
> Changes for v5:
>         - modify commit msg
>         - modify depends of QUICC_ENGINE
>         - add kerneldoc header for qe_issue_cmd
>
>  drivers/irqchip/qe_ic.c       | 28 +++++++++------
>  drivers/soc/fsl/qe/Kconfig    |  2 +-
>  drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++-----------------
>  drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
>  drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
>  drivers/soc/fsl/qe/ucc.c      | 10 +++---
>  drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++------------------
>  include/soc/fsl/qe/qe.h       |  1 -
>  include/soc/fsl/qe/qe_ic.h    | 12 +++----
>  9 files changed, 133 insertions(+), 118 deletions(-)
>

[snip]

> diff --git a/drivers/soc/fsl/qe/Kconfig b/drivers/soc/fsl/qe/Kconfig
> index 73a2e08..b26b643 100644
> --- a/drivers/soc/fsl/qe/Kconfig
> +++ b/drivers/soc/fsl/qe/Kconfig
> @@ -4,7 +4,7 @@
>
>  config QUICC_ENGINE
>         bool "Freescale QUICC Engine (QE) Support"
> -       depends on FSL_SOC && PPC32
> +       depends on OF && HAS_IOMEM
>         select GENERIC_ALLOCATOR
>         select CRC32
>         help

You make it possible to build QE drivers on ARM, but the UCC_GETH
fails to build on arm64.  Please make sure all these drivers can build
on other architectures.  Or you can simply make them only build for
Power architecture as most of them are not available on ARM.

Regards,
Leo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-09-19 20:13   ` Leo Li
@ 2016-09-21  1:13       ` Qiang Zhao
  0 siblings, 0 replies; 11+ messages in thread
From: Qiang Zhao @ 2016-09-21  1:13 UTC (permalink / raw)
  To: Leo Li; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

On Mon, Sep 20, 2016 at 4:13 AM, Leo Li wrote:
> -----Original Message-----
> From: Leo Li [mailto:pku.leo@gmail.com]
> Sent: Tuesday, September 20, 2016 4:13 AM
> To: Qiang Zhao <qiang.zhao@nxp.com>
> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
> <xiaobo.xie@nxp.com>
> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
> 
> On Mon, Jul 25, 2016 at 12:43 AM, Zhao Qiang <qiang.zhao@nxp.com> wrote:
> > QE was supported on PowerPC, and dependent on PPC, Now it is supported
> > on other platforms. so remove PPCisms.
> >
> > Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
> > ---
> > Changes for v2:
> >         - na
> > Changes for v3:
> >         - add NO_IRQ
> > Changes for v4:
> >         - modify spin_event_timeout to opencoded timeout loop
> >         - remove NO_IRQ
> >         - modify virq_to_hw to opencoed code Changes for v5:
> >         - modify commit msg
> >         - modify depends of QUICC_ENGINE
> >         - add kerneldoc header for qe_issue_cmd
> >
> >  drivers/irqchip/qe_ic.c       | 28 +++++++++------
> >  drivers/soc/fsl/qe/Kconfig    |  2 +-
> >  drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++--------------
> ---
> >  drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
> >  drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
> >  drivers/soc/fsl/qe/ucc.c      | 10 +++---
> >  drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++------------------
> >  include/soc/fsl/qe/qe.h       |  1 -
> >  include/soc/fsl/qe/qe_ic.h    | 12 +++----
> >  9 files changed, 133 insertions(+), 118 deletions(-)
> >
> 
> [snip]
> 
> > diff --git a/drivers/soc/fsl/qe/Kconfig b/drivers/soc/fsl/qe/Kconfig
> > index 73a2e08..b26b643 100644
> > --- a/drivers/soc/fsl/qe/Kconfig
> > +++ b/drivers/soc/fsl/qe/Kconfig
> > @@ -4,7 +4,7 @@
> >
> >  config QUICC_ENGINE
> >         bool "Freescale QUICC Engine (QE) Support"
> > -       depends on FSL_SOC && PPC32
> > +       depends on OF && HAS_IOMEM
> >         select GENERIC_ALLOCATOR
> >         select CRC32
> >         help
> 
> You make it possible to build QE drivers on ARM, but the UCC_GETH fails to
> build on arm64.  Please make sure all these drivers can build on other
> architectures.  Or you can simply make them only build for Power architecture
> as most of them are not available on ARM.
> 

Most of them are not available on ARM and ARM64.
Now, only qe-hdlc is available on ARM64.

BR
-Zhao Qiang

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v5 2/2] QE: remove PPCisms for QE
@ 2016-09-21  1:13       ` Qiang Zhao
  0 siblings, 0 replies; 11+ messages in thread
From: Qiang Zhao @ 2016-09-21  1:13 UTC (permalink / raw)
  To: Leo Li; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

T24gTW9uLCBTZXAgMjAsIDIwMTYgYXQgNDoxMyBBTSwgTGVvIExpIHdyb3RlOg0KPiAtLS0tLU9y
aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMZW8gTGkgW21haWx0bzpwa3UubGVvQGdtYWls
LmNvbV0NCj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDE2IDQ6MTMgQU0NCj4gVG86
IFFpYW5nIFpoYW8gPHFpYW5nLnpoYW9AbnhwLmNvbT4NCj4gQ2M6IFNjb3R0IFdvb2QgPG9zc0Bi
dXNlcnJvci5uZXQ+OyBsaW51eHBwYy1kZXYgPGxpbnV4cHBjLQ0KPiBkZXZAbGlzdHMub3psYWJz
Lm9yZz47IGxrbWwgPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+OyBYLkIuIFhpZQ0KPiA8
eGlhb2JvLnhpZUBueHAuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY1IDIvMl0gUUU6IHJl
bW92ZSBQUENpc21zIGZvciBRRQ0KPiANCj4gT24gTW9uLCBKdWwgMjUsIDIwMTYgYXQgMTI6NDMg
QU0sIFpoYW8gUWlhbmcgPHFpYW5nLnpoYW9AbnhwLmNvbT4gd3JvdGU6DQo+ID4gUUUgd2FzIHN1
cHBvcnRlZCBvbiBQb3dlclBDLCBhbmQgZGVwZW5kZW50IG9uIFBQQywgTm93IGl0IGlzIHN1cHBv
cnRlZA0KPiA+IG9uIG90aGVyIHBsYXRmb3Jtcy4gc28gcmVtb3ZlIFBQQ2lzbXMuDQo+ID4NCj4g
PiBTaWduZWQtb2ZmLWJ5OiBaaGFvIFFpYW5nIDxxaWFuZy56aGFvQG54cC5jb20+DQo+ID4gLS0t
DQo+ID4gQ2hhbmdlcyBmb3IgdjI6DQo+ID4gICAgICAgICAtIG5hDQo+ID4gQ2hhbmdlcyBmb3Ig
djM6DQo+ID4gICAgICAgICAtIGFkZCBOT19JUlENCj4gPiBDaGFuZ2VzIGZvciB2NDoNCj4gPiAg
ICAgICAgIC0gbW9kaWZ5IHNwaW5fZXZlbnRfdGltZW91dCB0byBvcGVuY29kZWQgdGltZW91dCBs
b29wDQo+ID4gICAgICAgICAtIHJlbW92ZSBOT19JUlENCj4gPiAgICAgICAgIC0gbW9kaWZ5IHZp
cnFfdG9faHcgdG8gb3BlbmNvZWQgY29kZSBDaGFuZ2VzIGZvciB2NToNCj4gPiAgICAgICAgIC0g
bW9kaWZ5IGNvbW1pdCBtc2cNCj4gPiAgICAgICAgIC0gbW9kaWZ5IGRlcGVuZHMgb2YgUVVJQ0Nf
RU5HSU5FDQo+ID4gICAgICAgICAtIGFkZCBrZXJuZWxkb2MgaGVhZGVyIGZvciBxZV9pc3N1ZV9j
bWQNCj4gPg0KPiA+ICBkcml2ZXJzL2lycWNoaXAvcWVfaWMuYyAgICAgICB8IDI4ICsrKysrKysr
Ky0tLS0tLQ0KPiA+ICBkcml2ZXJzL3NvYy9mc2wvcWUvS2NvbmZpZyAgICB8ICAyICstDQo+ID4g
IGRyaXZlcnMvc29jL2ZzbC9xZS9xZS5jICAgICAgIHwgODAgKysrKysrKysrKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0tLQ0KPiAtLS0NCj4gPiAgZHJpdmVycy9zb2MvZnNsL3FlL3FlX2lv
LmMgICAgfCA0MiArKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPiA+ICBkcml2ZXJzL3NvYy9mc2wv
cWUvcWVfdGRtLmMgICB8ICA4ICsrLS0tDQo+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS91Y2MuYyAg
ICAgIHwgMTAgKysrLS0tDQo+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS91Y2NfZmFzdC5jIHwgNjgg
KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gIGluY2x1ZGUvc29jL2Zz
bC9xZS9xZS5oICAgICAgIHwgIDEgLQ0KPiA+ICBpbmNsdWRlL3NvYy9mc2wvcWUvcWVfaWMuaCAg
ICB8IDEyICsrKy0tLS0NCj4gPiAgOSBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwg
MTE4IGRlbGV0aW9ucygtKQ0KPiA+DQo+IA0KPiBbc25pcF0NCj4gDQo+ID4gZGlmZiAtLWdpdCBh
L2RyaXZlcnMvc29jL2ZzbC9xZS9LY29uZmlnIGIvZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWcN
Cj4gPiBpbmRleCA3M2EyZTA4Li5iMjZiNjQzIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvc29j
L2ZzbC9xZS9LY29uZmlnDQo+ID4gKysrIGIvZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWcNCj4g
PiBAQCAtNCw3ICs0LDcgQEANCj4gPg0KPiA+ICBjb25maWcgUVVJQ0NfRU5HSU5FDQo+ID4gICAg
ICAgICBib29sICJGcmVlc2NhbGUgUVVJQ0MgRW5naW5lIChRRSkgU3VwcG9ydCINCj4gPiAtICAg
ICAgIGRlcGVuZHMgb24gRlNMX1NPQyAmJiBQUEMzMg0KPiA+ICsgICAgICAgZGVwZW5kcyBvbiBP
RiAmJiBIQVNfSU9NRU0NCj4gPiAgICAgICAgIHNlbGVjdCBHRU5FUklDX0FMTE9DQVRPUg0KPiA+
ICAgICAgICAgc2VsZWN0IENSQzMyDQo+ID4gICAgICAgICBoZWxwDQo+IA0KPiBZb3UgbWFrZSBp
dCBwb3NzaWJsZSB0byBidWlsZCBRRSBkcml2ZXJzIG9uIEFSTSwgYnV0IHRoZSBVQ0NfR0VUSCBm
YWlscyB0bw0KPiBidWlsZCBvbiBhcm02NC4gIFBsZWFzZSBtYWtlIHN1cmUgYWxsIHRoZXNlIGRy
aXZlcnMgY2FuIGJ1aWxkIG9uIG90aGVyDQo+IGFyY2hpdGVjdHVyZXMuICBPciB5b3UgY2FuIHNp
bXBseSBtYWtlIHRoZW0gb25seSBidWlsZCBmb3IgUG93ZXIgYXJjaGl0ZWN0dXJlDQo+IGFzIG1v
c3Qgb2YgdGhlbSBhcmUgbm90IGF2YWlsYWJsZSBvbiBBUk0uDQo+IA0KDQpNb3N0IG9mIHRoZW0g
YXJlIG5vdCBhdmFpbGFibGUgb24gQVJNIGFuZCBBUk02NC4NCk5vdywgb25seSBxZS1oZGxjIGlz
IGF2YWlsYWJsZSBvbiBBUk02NC4NCg0KQlINCi1aaGFvIFFpYW5nDQo=

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-09-21  1:13       ` Qiang Zhao
  (?)
@ 2016-09-21 18:18       ` Leo Li
  2016-09-22  1:43           ` Qiang Zhao
  -1 siblings, 1 reply; 11+ messages in thread
From: Leo Li @ 2016-09-21 18:18 UTC (permalink / raw)
  To: Qiang Zhao; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

On Tue, Sep 20, 2016 at 8:13 PM, Qiang Zhao <qiang.zhao@nxp.com> wrote:
> On Mon, Sep 20, 2016 at 4:13 AM, Leo Li wrote:
>> -----Original Message-----
>> From: Leo Li [mailto:pku.leo@gmail.com]
>> Sent: Tuesday, September 20, 2016 4:13 AM
>> To: Qiang Zhao <qiang.zhao@nxp.com>
>> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
>> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
>> <xiaobo.xie@nxp.com>
>> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
>>
>> On Mon, Jul 25, 2016 at 12:43 AM, Zhao Qiang <qiang.zhao@nxp.com> wrote:
>> > QE was supported on PowerPC, and dependent on PPC, Now it is supported
>> > on other platforms. so remove PPCisms.
>> >
>> > Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
>> > ---
>> > Changes for v2:
>> >         - na
>> > Changes for v3:
>> >         - add NO_IRQ
>> > Changes for v4:
>> >         - modify spin_event_timeout to opencoded timeout loop
>> >         - remove NO_IRQ
>> >         - modify virq_to_hw to opencoed code Changes for v5:
>> >         - modify commit msg
>> >         - modify depends of QUICC_ENGINE
>> >         - add kerneldoc header for qe_issue_cmd
>> >
>> >  drivers/irqchip/qe_ic.c       | 28 +++++++++------
>> >  drivers/soc/fsl/qe/Kconfig    |  2 +-
>> >  drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++--------------
>> ---
>> >  drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
>> >  drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
>> >  drivers/soc/fsl/qe/ucc.c      | 10 +++---
>> >  drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++------------------
>> >  include/soc/fsl/qe/qe.h       |  1 -
>> >  include/soc/fsl/qe/qe_ic.h    | 12 +++----
>> >  9 files changed, 133 insertions(+), 118 deletions(-)
>> >
>>
>> [snip]
>>
>> > diff --git a/drivers/soc/fsl/qe/Kconfig b/drivers/soc/fsl/qe/Kconfig
>> > index 73a2e08..b26b643 100644
>> > --- a/drivers/soc/fsl/qe/Kconfig
>> > +++ b/drivers/soc/fsl/qe/Kconfig
>> > @@ -4,7 +4,7 @@
>> >
>> >  config QUICC_ENGINE
>> >         bool "Freescale QUICC Engine (QE) Support"
>> > -       depends on FSL_SOC && PPC32
>> > +       depends on OF && HAS_IOMEM
>> >         select GENERIC_ALLOCATOR
>> >         select CRC32
>> >         help
>>
>> You make it possible to build QE drivers on ARM, but the UCC_GETH fails to
>> build on arm64.  Please make sure all these drivers can build on other
>> architectures.  Or you can simply make them only build for Power architecture
>> as most of them are not available on ARM.
>>
>
> Most of them are not available on ARM and ARM64.
> Now, only qe-hdlc is available on ARM64.

Then you should update the Kconfig for these drivers too, if they are
only depending on CONFIG_QUICC_ENGINE.

Regards,
Leo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-09-21 18:18       ` Leo Li
@ 2016-09-22  1:43           ` Qiang Zhao
  0 siblings, 0 replies; 11+ messages in thread
From: Qiang Zhao @ 2016-09-22  1:43 UTC (permalink / raw)
  To: Leo Li; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

On Mon, Sep 22, 2016 at 2:19 AM, Leo Li wrote:
> -----Original Message-----
> From: Leo Li [mailto:pku.leo@gmail.com]
> Sent: Thursday, September 22, 2016 2:19 AM
> To: Qiang Zhao <qiang.zhao@nxp.com>
> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
> <xiaobo.xie@nxp.com>
> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
> 
> On Tue, Sep 20, 2016 at 8:13 PM, Qiang Zhao <qiang.zhao@nxp.com> wrote:
> > On Mon, Sep 20, 2016 at 4:13 AM, Leo Li wrote:
> >> -----Original Message-----
> >> From: Leo Li [mailto:pku.leo@gmail.com]
> >> Sent: Tuesday, September 20, 2016 4:13 AM
> >> To: Qiang Zhao <qiang.zhao@nxp.com>
> >> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
> >> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
> >> <xiaobo.xie@nxp.com>
> >> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
> >>
> >> On Mon, Jul 25, 2016 at 12:43 AM, Zhao Qiang <qiang.zhao@nxp.com>
> wrote:
> >> > QE was supported on PowerPC, and dependent on PPC, Now it is
> >> > supported on other platforms. so remove PPCisms.
> >> >
> >> > Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
> >> > ---
> >> > Changes for v2:
> >> >         - na
> >> > Changes for v3:
> >> >         - add NO_IRQ
> >> > Changes for v4:
> >> >         - modify spin_event_timeout to opencoded timeout loop
> >> >         - remove NO_IRQ
> >> >         - modify virq_to_hw to opencoed code Changes for v5:
> >> >         - modify commit msg
> >> >         - modify depends of QUICC_ENGINE
> >> >         - add kerneldoc header for qe_issue_cmd
> >> >
> >> >  drivers/irqchip/qe_ic.c       | 28 +++++++++------
> >> >  drivers/soc/fsl/qe/Kconfig    |  2 +-
> >> >  drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++----------
> ----
> >> ---
> >> >  drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
> >> >  drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
> >> >  drivers/soc/fsl/qe/ucc.c      | 10 +++---
> >> >  drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++------------------
> >> >  include/soc/fsl/qe/qe.h       |  1 -
> >> >  include/soc/fsl/qe/qe_ic.h    | 12 +++----
> >> >  9 files changed, 133 insertions(+), 118 deletions(-)
> >> >
> >>
> >> [snip]
> >>
> >> > diff --git a/drivers/soc/fsl/qe/Kconfig
> >> > b/drivers/soc/fsl/qe/Kconfig index 73a2e08..b26b643 100644
> >> > --- a/drivers/soc/fsl/qe/Kconfig
> >> > +++ b/drivers/soc/fsl/qe/Kconfig
> >> > @@ -4,7 +4,7 @@
> >> >
> >> >  config QUICC_ENGINE
> >> >         bool "Freescale QUICC Engine (QE) Support"
> >> > -       depends on FSL_SOC && PPC32
> >> > +       depends on OF && HAS_IOMEM
> >> >         select GENERIC_ALLOCATOR
> >> >         select CRC32
> >> >         help
> >>
> >> You make it possible to build QE drivers on ARM, but the UCC_GETH
> >> fails to build on arm64.  Please make sure all these drivers can
> >> build on other architectures.  Or you can simply make them only build
> >> for Power architecture as most of them are not available on ARM.
> >>
> >
> > Most of them are not available on ARM and ARM64.
> > Now, only qe-hdlc is available on ARM64.
> 
> Then you should update the Kconfig for these drivers too, if they are only
> depending on CONFIG_QUICC_ENGINE.

You mean adding "depends on FSL_SOC && PPC32 " to the drivers that are not available for ARM?

BR
-Zhao Qiang

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v5 2/2] QE: remove PPCisms for QE
@ 2016-09-22  1:43           ` Qiang Zhao
  0 siblings, 0 replies; 11+ messages in thread
From: Qiang Zhao @ 2016-09-22  1:43 UTC (permalink / raw)
  To: Leo Li; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

T24gTW9uLCBTZXAgMjIsIDIwMTYgYXQgMjoxOSBBTSwgTGVvIExpIHdyb3RlOg0KPiAtLS0tLU9y
aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMZW8gTGkgW21haWx0bzpwa3UubGVvQGdtYWls
LmNvbV0NCj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAyMiwgMjAxNiAyOjE5IEFNDQo+IFRv
OiBRaWFuZyBaaGFvIDxxaWFuZy56aGFvQG54cC5jb20+DQo+IENjOiBTY290dCBXb29kIDxvc3NA
YnVzZXJyb3IubmV0PjsgbGludXhwcGMtZGV2IDxsaW51eHBwYy0NCj4gZGV2QGxpc3RzLm96bGFi
cy5vcmc+OyBsa21sIDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgWC5CLiBYaWUNCj4g
PHhpYW9iby54aWVAbnhwLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAyLzJdIFFFOiBy
ZW1vdmUgUFBDaXNtcyBmb3IgUUUNCj4gDQo+IE9uIFR1ZSwgU2VwIDIwLCAyMDE2IGF0IDg6MTMg
UE0sIFFpYW5nIFpoYW8gPHFpYW5nLnpoYW9AbnhwLmNvbT4gd3JvdGU6DQo+ID4gT24gTW9uLCBT
ZXAgMjAsIDIwMTYgYXQgNDoxMyBBTSwgTGVvIExpIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBMZW8gTGkgW21haWx0bzpwa3UubGVvQGdtYWlsLmNv
bV0NCj4gPj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDE2IDQ6MTMgQU0NCj4gPj4g
VG86IFFpYW5nIFpoYW8gPHFpYW5nLnpoYW9AbnhwLmNvbT4NCj4gPj4gQ2M6IFNjb3R0IFdvb2Qg
PG9zc0BidXNlcnJvci5uZXQ+OyBsaW51eHBwYy1kZXYgPGxpbnV4cHBjLQ0KPiA+PiBkZXZAbGlz
dHMub3psYWJzLm9yZz47IGxrbWwgPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+OyBYLkIu
IFhpZQ0KPiA+PiA8eGlhb2JvLnhpZUBueHAuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW1BBVENI
IHY1IDIvMl0gUUU6IHJlbW92ZSBQUENpc21zIGZvciBRRQ0KPiA+Pg0KPiA+PiBPbiBNb24sIEp1
bCAyNSwgMjAxNiBhdCAxMjo0MyBBTSwgWmhhbyBRaWFuZyA8cWlhbmcuemhhb0BueHAuY29tPg0K
PiB3cm90ZToNCj4gPj4gPiBRRSB3YXMgc3VwcG9ydGVkIG9uIFBvd2VyUEMsIGFuZCBkZXBlbmRl
bnQgb24gUFBDLCBOb3cgaXQgaXMNCj4gPj4gPiBzdXBwb3J0ZWQgb24gb3RoZXIgcGxhdGZvcm1z
LiBzbyByZW1vdmUgUFBDaXNtcy4NCj4gPj4gPg0KPiA+PiA+IFNpZ25lZC1vZmYtYnk6IFpoYW8g
UWlhbmcgPHFpYW5nLnpoYW9AbnhwLmNvbT4NCj4gPj4gPiAtLS0NCj4gPj4gPiBDaGFuZ2VzIGZv
ciB2MjoNCj4gPj4gPiAgICAgICAgIC0gbmENCj4gPj4gPiBDaGFuZ2VzIGZvciB2MzoNCj4gPj4g
PiAgICAgICAgIC0gYWRkIE5PX0lSUQ0KPiA+PiA+IENoYW5nZXMgZm9yIHY0Og0KPiA+PiA+ICAg
ICAgICAgLSBtb2RpZnkgc3Bpbl9ldmVudF90aW1lb3V0IHRvIG9wZW5jb2RlZCB0aW1lb3V0IGxv
b3ANCj4gPj4gPiAgICAgICAgIC0gcmVtb3ZlIE5PX0lSUQ0KPiA+PiA+ICAgICAgICAgLSBtb2Rp
ZnkgdmlycV90b19odyB0byBvcGVuY29lZCBjb2RlIENoYW5nZXMgZm9yIHY1Og0KPiA+PiA+ICAg
ICAgICAgLSBtb2RpZnkgY29tbWl0IG1zZw0KPiA+PiA+ICAgICAgICAgLSBtb2RpZnkgZGVwZW5k
cyBvZiBRVUlDQ19FTkdJTkUNCj4gPj4gPiAgICAgICAgIC0gYWRkIGtlcm5lbGRvYyBoZWFkZXIg
Zm9yIHFlX2lzc3VlX2NtZA0KPiA+PiA+DQo+ID4+ID4gIGRyaXZlcnMvaXJxY2hpcC9xZV9pYy5j
ICAgICAgIHwgMjggKysrKysrKysrLS0tLS0tDQo+ID4+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS9L
Y29uZmlnICAgIHwgIDIgKy0NCj4gPj4gPiAgZHJpdmVycy9zb2MvZnNsL3FlL3FlLmMgICAgICAg
fCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4gLS0tLQ0KPiA+PiAt
LS0NCj4gPj4gPiAgZHJpdmVycy9zb2MvZnNsL3FlL3FlX2lvLmMgICAgfCA0MiArKysrKysrKysr
LS0tLS0tLS0tLS0tLQ0KPiA+PiA+ICBkcml2ZXJzL3NvYy9mc2wvcWUvcWVfdGRtLmMgICB8ICA4
ICsrLS0tDQo+ID4+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS91Y2MuYyAgICAgIHwgMTAgKysrLS0t
DQo+ID4+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS91Y2NfZmFzdC5jIHwgNjggKysrKysrKysrKysr
KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+ID4gIGluY2x1ZGUvc29jL2ZzbC9xZS9xZS5o
ICAgICAgIHwgIDEgLQ0KPiA+PiA+ICBpbmNsdWRlL3NvYy9mc2wvcWUvcWVfaWMuaCAgICB8IDEy
ICsrKy0tLS0NCj4gPj4gPiAgOSBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwgMTE4
IGRlbGV0aW9ucygtKQ0KPiA+PiA+DQo+ID4+DQo+ID4+IFtzbmlwXQ0KPiA+Pg0KPiA+PiA+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9mc2wvcWUvS2NvbmZpZw0KPiA+PiA+IGIvZHJpdmVycy9z
b2MvZnNsL3FlL0tjb25maWcgaW5kZXggNzNhMmUwOC4uYjI2YjY0MyAxMDA2NDQNCj4gPj4gPiAt
LS0gYS9kcml2ZXJzL3NvYy9mc2wvcWUvS2NvbmZpZw0KPiA+PiA+ICsrKyBiL2RyaXZlcnMvc29j
L2ZzbC9xZS9LY29uZmlnDQo+ID4+ID4gQEAgLTQsNyArNCw3IEBADQo+ID4+ID4NCj4gPj4gPiAg
Y29uZmlnIFFVSUNDX0VOR0lORQ0KPiA+PiA+ICAgICAgICAgYm9vbCAiRnJlZXNjYWxlIFFVSUND
IEVuZ2luZSAoUUUpIFN1cHBvcnQiDQo+ID4+ID4gLSAgICAgICBkZXBlbmRzIG9uIEZTTF9TT0Mg
JiYgUFBDMzINCj4gPj4gPiArICAgICAgIGRlcGVuZHMgb24gT0YgJiYgSEFTX0lPTUVNDQo+ID4+
ID4gICAgICAgICBzZWxlY3QgR0VORVJJQ19BTExPQ0FUT1INCj4gPj4gPiAgICAgICAgIHNlbGVj
dCBDUkMzMg0KPiA+PiA+ICAgICAgICAgaGVscA0KPiA+Pg0KPiA+PiBZb3UgbWFrZSBpdCBwb3Nz
aWJsZSB0byBidWlsZCBRRSBkcml2ZXJzIG9uIEFSTSwgYnV0IHRoZSBVQ0NfR0VUSA0KPiA+PiBm
YWlscyB0byBidWlsZCBvbiBhcm02NC4gIFBsZWFzZSBtYWtlIHN1cmUgYWxsIHRoZXNlIGRyaXZl
cnMgY2FuDQo+ID4+IGJ1aWxkIG9uIG90aGVyIGFyY2hpdGVjdHVyZXMuICBPciB5b3UgY2FuIHNp
bXBseSBtYWtlIHRoZW0gb25seSBidWlsZA0KPiA+PiBmb3IgUG93ZXIgYXJjaGl0ZWN0dXJlIGFz
IG1vc3Qgb2YgdGhlbSBhcmUgbm90IGF2YWlsYWJsZSBvbiBBUk0uDQo+ID4+DQo+ID4NCj4gPiBN
b3N0IG9mIHRoZW0gYXJlIG5vdCBhdmFpbGFibGUgb24gQVJNIGFuZCBBUk02NC4NCj4gPiBOb3cs
IG9ubHkgcWUtaGRsYyBpcyBhdmFpbGFibGUgb24gQVJNNjQuDQo+IA0KPiBUaGVuIHlvdSBzaG91
bGQgdXBkYXRlIHRoZSBLY29uZmlnIGZvciB0aGVzZSBkcml2ZXJzIHRvbywgaWYgdGhleSBhcmUg
b25seQ0KPiBkZXBlbmRpbmcgb24gQ09ORklHX1FVSUNDX0VOR0lORS4NCg0KWW91IG1lYW4gYWRk
aW5nICJkZXBlbmRzIG9uIEZTTF9TT0MgJiYgUFBDMzIgIiB0byB0aGUgZHJpdmVycyB0aGF0IGFy
ZSBub3QgYXZhaWxhYmxlIGZvciBBUk0/DQoNCkJSDQotWmhhbyBRaWFuZw0K

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-09-22  1:43           ` Qiang Zhao
  (?)
@ 2016-09-22 19:38           ` Leo Li
  2016-09-23  1:10               ` Qiang Zhao
  -1 siblings, 1 reply; 11+ messages in thread
From: Leo Li @ 2016-09-22 19:38 UTC (permalink / raw)
  To: Qiang Zhao; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

On Wed, Sep 21, 2016 at 8:43 PM, Qiang Zhao <qiang.zhao@nxp.com> wrote:
> On Mon, Sep 22, 2016 at 2:19 AM, Leo Li wrote:
>> -----Original Message-----
>> From: Leo Li [mailto:pku.leo@gmail.com]
>> Sent: Thursday, September 22, 2016 2:19 AM
>> To: Qiang Zhao <qiang.zhao@nxp.com>
>> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
>> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
>> <xiaobo.xie@nxp.com>
>> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
>>
>> On Tue, Sep 20, 2016 at 8:13 PM, Qiang Zhao <qiang.zhao@nxp.com> wrote:
>> > On Mon, Sep 20, 2016 at 4:13 AM, Leo Li wrote:
>> >> -----Original Message-----
>> >> From: Leo Li [mailto:pku.leo@gmail.com]
>> >> Sent: Tuesday, September 20, 2016 4:13 AM
>> >> To: Qiang Zhao <qiang.zhao@nxp.com>
>> >> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
>> >> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
>> >> <xiaobo.xie@nxp.com>
>> >> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
>> >>
>> >> On Mon, Jul 25, 2016 at 12:43 AM, Zhao Qiang <qiang.zhao@nxp.com>
>> wrote:
>> >> > QE was supported on PowerPC, and dependent on PPC, Now it is
>> >> > supported on other platforms. so remove PPCisms.
>> >> >
>> >> > Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
>> >> > ---
>> >> > Changes for v2:
>> >> >         - na
>> >> > Changes for v3:
>> >> >         - add NO_IRQ
>> >> > Changes for v4:
>> >> >         - modify spin_event_timeout to opencoded timeout loop
>> >> >         - remove NO_IRQ
>> >> >         - modify virq_to_hw to opencoed code Changes for v5:
>> >> >         - modify commit msg
>> >> >         - modify depends of QUICC_ENGINE
>> >> >         - add kerneldoc header for qe_issue_cmd
>> >> >
>> >> >  drivers/irqchip/qe_ic.c       | 28 +++++++++------
>> >> >  drivers/soc/fsl/qe/Kconfig    |  2 +-
>> >> >  drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++----------
>> ----
>> >> ---
>> >> >  drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
>> >> >  drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
>> >> >  drivers/soc/fsl/qe/ucc.c      | 10 +++---
>> >> >  drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++------------------
>> >> >  include/soc/fsl/qe/qe.h       |  1 -
>> >> >  include/soc/fsl/qe/qe_ic.h    | 12 +++----
>> >> >  9 files changed, 133 insertions(+), 118 deletions(-)
>> >> >
>> >>
>> >> [snip]
>> >>
>> >> > diff --git a/drivers/soc/fsl/qe/Kconfig
>> >> > b/drivers/soc/fsl/qe/Kconfig index 73a2e08..b26b643 100644
>> >> > --- a/drivers/soc/fsl/qe/Kconfig
>> >> > +++ b/drivers/soc/fsl/qe/Kconfig
>> >> > @@ -4,7 +4,7 @@
>> >> >
>> >> >  config QUICC_ENGINE
>> >> >         bool "Freescale QUICC Engine (QE) Support"
>> >> > -       depends on FSL_SOC && PPC32
>> >> > +       depends on OF && HAS_IOMEM
>> >> >         select GENERIC_ALLOCATOR
>> >> >         select CRC32
>> >> >         help
>> >>
>> >> You make it possible to build QE drivers on ARM, but the UCC_GETH
>> >> fails to build on arm64.  Please make sure all these drivers can
>> >> build on other architectures.  Or you can simply make them only build
>> >> for Power architecture as most of them are not available on ARM.
>> >>
>> >
>> > Most of them are not available on ARM and ARM64.
>> > Now, only qe-hdlc is available on ARM64.
>>
>> Then you should update the Kconfig for these drivers too, if they are only
>> depending on CONFIG_QUICC_ENGINE.
>
> You mean adding "depends on FSL_SOC && PPC32 " to the drivers that are not available for ARM?

Yes.  Previously these drivers get the architecture limitation from
CONFIG_QUICC_ENGINE, but now they need them by their own.

Regards,
Leo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v5 2/2] QE: remove PPCisms for QE
  2016-09-22 19:38           ` Leo Li
@ 2016-09-23  1:10               ` Qiang Zhao
  0 siblings, 0 replies; 11+ messages in thread
From: Qiang Zhao @ 2016-09-23  1:10 UTC (permalink / raw)
  To: Leo Li; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

On Fri, Sep 23, 2016 at 3:39 AM, Leo Li wrote:

> -----Original Message-----
> From: Leo Li [mailto:pku.leo@gmail.com]
> Sent: Friday, September 23, 2016 3:39 AM
> To: Qiang Zhao <qiang.zhao@nxp.com>
> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
> <xiaobo.xie@nxp.com>
> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
> 
> On Wed, Sep 21, 2016 at 8:43 PM, Qiang Zhao <qiang.zhao@nxp.com> wrote:
> > On Mon, Sep 22, 2016 at 2:19 AM, Leo Li wrote:
> >> -----Original Message-----
> >> From: Leo Li [mailto:pku.leo@gmail.com]
> >> Sent: Thursday, September 22, 2016 2:19 AM
> >> To: Qiang Zhao <qiang.zhao@nxp.com>
> >> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
> >> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B. Xie
> >> <xiaobo.xie@nxp.com>
> >> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
> >>
> >> On Tue, Sep 20, 2016 at 8:13 PM, Qiang Zhao <qiang.zhao@nxp.com> wrote:
> >> > On Mon, Sep 20, 2016 at 4:13 AM, Leo Li wrote:
> >> >> -----Original Message-----
> >> >> From: Leo Li [mailto:pku.leo@gmail.com]
> >> >> Sent: Tuesday, September 20, 2016 4:13 AM
> >> >> To: Qiang Zhao <qiang.zhao@nxp.com>
> >> >> Cc: Scott Wood <oss@buserror.net>; linuxppc-dev <linuxppc-
> >> >> dev@lists.ozlabs.org>; lkml <linux-kernel@vger.kernel.org>; X.B.
> >> >> Xie <xiaobo.xie@nxp.com>
> >> >> Subject: Re: [PATCH v5 2/2] QE: remove PPCisms for QE
> >> >>
> >> >> On Mon, Jul 25, 2016 at 12:43 AM, Zhao Qiang <qiang.zhao@nxp.com>
> >> wrote:
> >> >> > QE was supported on PowerPC, and dependent on PPC, Now it is
> >> >> > supported on other platforms. so remove PPCisms.
> >> >> >
> >> >> > Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
> >> >> > ---
> >> >> > Changes for v2:
> >> >> >         - na
> >> >> > Changes for v3:
> >> >> >         - add NO_IRQ
> >> >> > Changes for v4:
> >> >> >         - modify spin_event_timeout to opencoded timeout loop
> >> >> >         - remove NO_IRQ
> >> >> >         - modify virq_to_hw to opencoed code Changes for v5:
> >> >> >         - modify commit msg
> >> >> >         - modify depends of QUICC_ENGINE
> >> >> >         - add kerneldoc header for qe_issue_cmd
> >> >> >
> >> >> >  drivers/irqchip/qe_ic.c       | 28 +++++++++------
> >> >> >  drivers/soc/fsl/qe/Kconfig    |  2 +-
> >> >> >  drivers/soc/fsl/qe/qe.c       | 80 ++++++++++++++++++++++++++------
> ----
> >> ----
> >> >> ---
> >> >> >  drivers/soc/fsl/qe/qe_io.c    | 42 ++++++++++-------------
> >> >> >  drivers/soc/fsl/qe/qe_tdm.c   |  8 ++---
> >> >> >  drivers/soc/fsl/qe/ucc.c      | 10 +++---
> >> >> >  drivers/soc/fsl/qe/ucc_fast.c | 68 ++++++++++++++++++----------------
> --
> >> >> >  include/soc/fsl/qe/qe.h       |  1 -
> >> >> >  include/soc/fsl/qe/qe_ic.h    | 12 +++----
> >> >> >  9 files changed, 133 insertions(+), 118 deletions(-)
> >> >> >
> >> >>
> >> >> [snip]
> >> >>
> >> >> > diff --git a/drivers/soc/fsl/qe/Kconfig
> >> >> > b/drivers/soc/fsl/qe/Kconfig index 73a2e08..b26b643 100644
> >> >> > --- a/drivers/soc/fsl/qe/Kconfig
> >> >> > +++ b/drivers/soc/fsl/qe/Kconfig
> >> >> > @@ -4,7 +4,7 @@
> >> >> >
> >> >> >  config QUICC_ENGINE
> >> >> >         bool "Freescale QUICC Engine (QE) Support"
> >> >> > -       depends on FSL_SOC && PPC32
> >> >> > +       depends on OF && HAS_IOMEM
> >> >> >         select GENERIC_ALLOCATOR
> >> >> >         select CRC32
> >> >> >         help
> >> >>
> >> >> You make it possible to build QE drivers on ARM, but the UCC_GETH
> >> >> fails to build on arm64.  Please make sure all these drivers can
> >> >> build on other architectures.  Or you can simply make them only
> >> >> build for Power architecture as most of them are not available on ARM.
> >> >>
> >> >
> >> > Most of them are not available on ARM and ARM64.
> >> > Now, only qe-hdlc is available on ARM64.
> >>
> >> Then you should update the Kconfig for these drivers too, if they are
> >> only depending on CONFIG_QUICC_ENGINE.
> >
> > You mean adding "depends on FSL_SOC && PPC32 " to the drivers that are
> not available for ARM?
> 
> Yes.  Previously these drivers get the architecture limitation from
> CONFIG_QUICC_ENGINE, but now they need them by their own.
> 


Ok, I will modify it in the next vertion.

BR
-Zhao Qiang

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v5 2/2] QE: remove PPCisms for QE
@ 2016-09-23  1:10               ` Qiang Zhao
  0 siblings, 0 replies; 11+ messages in thread
From: Qiang Zhao @ 2016-09-23  1:10 UTC (permalink / raw)
  To: Leo Li; +Cc: Scott Wood, linuxppc-dev, lkml, X.B. Xie

T24gRnJpLCBTZXAgMjMsIDIwMTYgYXQgMzozOSBBTSwgTGVvIExpIHdyb3RlOg0KDQo+IC0tLS0t
T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExlbyBMaSBbbWFpbHRvOnBrdS5sZW9AZ21h
aWwuY29tXQ0KPiBTZW50OiBGcmlkYXksIFNlcHRlbWJlciAyMywgMjAxNiAzOjM5IEFNDQo+IFRv
OiBRaWFuZyBaaGFvIDxxaWFuZy56aGFvQG54cC5jb20+DQo+IENjOiBTY290dCBXb29kIDxvc3NA
YnVzZXJyb3IubmV0PjsgbGludXhwcGMtZGV2IDxsaW51eHBwYy0NCj4gZGV2QGxpc3RzLm96bGFi
cy5vcmc+OyBsa21sIDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgWC5CLiBYaWUNCj4g
PHhpYW9iby54aWVAbnhwLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAyLzJdIFFFOiBy
ZW1vdmUgUFBDaXNtcyBmb3IgUUUNCj4gDQo+IE9uIFdlZCwgU2VwIDIxLCAyMDE2IGF0IDg6NDMg
UE0sIFFpYW5nIFpoYW8gPHFpYW5nLnpoYW9AbnhwLmNvbT4gd3JvdGU6DQo+ID4gT24gTW9uLCBT
ZXAgMjIsIDIwMTYgYXQgMjoxOSBBTSwgTGVvIExpIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBMZW8gTGkgW21haWx0bzpwa3UubGVvQGdtYWlsLmNv
bV0NCj4gPj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAyMiwgMjAxNiAyOjE5IEFNDQo+ID4+
IFRvOiBRaWFuZyBaaGFvIDxxaWFuZy56aGFvQG54cC5jb20+DQo+ID4+IENjOiBTY290dCBXb29k
IDxvc3NAYnVzZXJyb3IubmV0PjsgbGludXhwcGMtZGV2IDxsaW51eHBwYy0NCj4gPj4gZGV2QGxp
c3RzLm96bGFicy5vcmc+OyBsa21sIDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgWC5C
LiBYaWUNCj4gPj4gPHhpYW9iby54aWVAbnhwLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRD
SCB2NSAyLzJdIFFFOiByZW1vdmUgUFBDaXNtcyBmb3IgUUUNCj4gPj4NCj4gPj4gT24gVHVlLCBT
ZXAgMjAsIDIwMTYgYXQgODoxMyBQTSwgUWlhbmcgWmhhbyA8cWlhbmcuemhhb0BueHAuY29tPiB3
cm90ZToNCj4gPj4gPiBPbiBNb24sIFNlcCAyMCwgMjAxNiBhdCA0OjEzIEFNLCBMZW8gTGkgd3Jv
dGU6DQo+ID4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4+IEZyb206IExl
byBMaSBbbWFpbHRvOnBrdS5sZW9AZ21haWwuY29tXQ0KPiA+PiA+PiBTZW50OiBUdWVzZGF5LCBT
ZXB0ZW1iZXIgMjAsIDIwMTYgNDoxMyBBTQ0KPiA+PiA+PiBUbzogUWlhbmcgWmhhbyA8cWlhbmcu
emhhb0BueHAuY29tPg0KPiA+PiA+PiBDYzogU2NvdHQgV29vZCA8b3NzQGJ1c2Vycm9yLm5ldD47
IGxpbnV4cHBjLWRldiA8bGludXhwcGMtDQo+ID4+ID4+IGRldkBsaXN0cy5vemxhYnMub3JnPjsg
bGttbCA8bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZz47IFguQi4NCj4gPj4gPj4gWGllIDx4
aWFvYm8ueGllQG54cC5jb20+DQo+ID4+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjUgMi8yXSBR
RTogcmVtb3ZlIFBQQ2lzbXMgZm9yIFFFDQo+ID4+ID4+DQo+ID4+ID4+IE9uIE1vbiwgSnVsIDI1
LCAyMDE2IGF0IDEyOjQzIEFNLCBaaGFvIFFpYW5nIDxxaWFuZy56aGFvQG54cC5jb20+DQo+ID4+
IHdyb3RlOg0KPiA+PiA+PiA+IFFFIHdhcyBzdXBwb3J0ZWQgb24gUG93ZXJQQywgYW5kIGRlcGVu
ZGVudCBvbiBQUEMsIE5vdyBpdCBpcw0KPiA+PiA+PiA+IHN1cHBvcnRlZCBvbiBvdGhlciBwbGF0
Zm9ybXMuIHNvIHJlbW92ZSBQUENpc21zLg0KPiA+PiA+PiA+DQo+ID4+ID4+ID4gU2lnbmVkLW9m
Zi1ieTogWmhhbyBRaWFuZyA8cWlhbmcuemhhb0BueHAuY29tPg0KPiA+PiA+PiA+IC0tLQ0KPiA+
PiA+PiA+IENoYW5nZXMgZm9yIHYyOg0KPiA+PiA+PiA+ICAgICAgICAgLSBuYQ0KPiA+PiA+PiA+
IENoYW5nZXMgZm9yIHYzOg0KPiA+PiA+PiA+ICAgICAgICAgLSBhZGQgTk9fSVJRDQo+ID4+ID4+
ID4gQ2hhbmdlcyBmb3IgdjQ6DQo+ID4+ID4+ID4gICAgICAgICAtIG1vZGlmeSBzcGluX2V2ZW50
X3RpbWVvdXQgdG8gb3BlbmNvZGVkIHRpbWVvdXQgbG9vcA0KPiA+PiA+PiA+ICAgICAgICAgLSBy
ZW1vdmUgTk9fSVJRDQo+ID4+ID4+ID4gICAgICAgICAtIG1vZGlmeSB2aXJxX3RvX2h3IHRvIG9w
ZW5jb2VkIGNvZGUgQ2hhbmdlcyBmb3IgdjU6DQo+ID4+ID4+ID4gICAgICAgICAtIG1vZGlmeSBj
b21taXQgbXNnDQo+ID4+ID4+ID4gICAgICAgICAtIG1vZGlmeSBkZXBlbmRzIG9mIFFVSUNDX0VO
R0lORQ0KPiA+PiA+PiA+ICAgICAgICAgLSBhZGQga2VybmVsZG9jIGhlYWRlciBmb3IgcWVfaXNz
dWVfY21kDQo+ID4+ID4+ID4NCj4gPj4gPj4gPiAgZHJpdmVycy9pcnFjaGlwL3FlX2ljLmMgICAg
ICAgfCAyOCArKysrKysrKystLS0tLS0NCj4gPj4gPj4gPiAgZHJpdmVycy9zb2MvZnNsL3FlL0tj
b25maWcgICAgfCAgMiArLQ0KPiA+PiA+PiA+ICBkcml2ZXJzL3NvYy9mc2wvcWUvcWUuYyAgICAg
ICB8IDgwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tDQo+IC0tLS0NCj4gPj4gLS0t
LQ0KPiA+PiA+PiAtLS0NCj4gPj4gPj4gPiAgZHJpdmVycy9zb2MvZnNsL3FlL3FlX2lvLmMgICAg
fCA0MiArKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPiA+PiA+PiA+ICBkcml2ZXJzL3NvYy9mc2wv
cWUvcWVfdGRtLmMgICB8ICA4ICsrLS0tDQo+ID4+ID4+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS91
Y2MuYyAgICAgIHwgMTAgKysrLS0tDQo+ID4+ID4+ID4gIGRyaXZlcnMvc29jL2ZzbC9xZS91Y2Nf
ZmFzdC5jIHwgNjggKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLQ0KPiA+
PiA+PiA+ICBpbmNsdWRlL3NvYy9mc2wvcWUvcWUuaCAgICAgICB8ICAxIC0NCj4gPj4gPj4gPiAg
aW5jbHVkZS9zb2MvZnNsL3FlL3FlX2ljLmggICAgfCAxMiArKystLS0tDQo+ID4+ID4+ID4gIDkg
ZmlsZXMgY2hhbmdlZCwgMTMzIGluc2VydGlvbnMoKyksIDExOCBkZWxldGlvbnMoLSkNCj4gPj4g
Pj4gPg0KPiA+PiA+Pg0KPiA+PiA+PiBbc25pcF0NCj4gPj4gPj4NCj4gPj4gPj4gPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWcNCj4gPj4gPj4gPiBiL2RyaXZlcnMvc29j
L2ZzbC9xZS9LY29uZmlnIGluZGV4IDczYTJlMDguLmIyNmI2NDMgMTAwNjQ0DQo+ID4+ID4+ID4g
LS0tIGEvZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWcNCj4gPj4gPj4gPiArKysgYi9kcml2ZXJz
L3NvYy9mc2wvcWUvS2NvbmZpZw0KPiA+PiA+PiA+IEBAIC00LDcgKzQsNyBAQA0KPiA+PiA+PiA+
DQo+ID4+ID4+ID4gIGNvbmZpZyBRVUlDQ19FTkdJTkUNCj4gPj4gPj4gPiAgICAgICAgIGJvb2wg
IkZyZWVzY2FsZSBRVUlDQyBFbmdpbmUgKFFFKSBTdXBwb3J0Ig0KPiA+PiA+PiA+IC0gICAgICAg
ZGVwZW5kcyBvbiBGU0xfU09DICYmIFBQQzMyDQo+ID4+ID4+ID4gKyAgICAgICBkZXBlbmRzIG9u
IE9GICYmIEhBU19JT01FTQ0KPiA+PiA+PiA+ICAgICAgICAgc2VsZWN0IEdFTkVSSUNfQUxMT0NB
VE9SDQo+ID4+ID4+ID4gICAgICAgICBzZWxlY3QgQ1JDMzINCj4gPj4gPj4gPiAgICAgICAgIGhl
bHANCj4gPj4gPj4NCj4gPj4gPj4gWW91IG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgUUUgZHJp
dmVycyBvbiBBUk0sIGJ1dCB0aGUgVUNDX0dFVEgNCj4gPj4gPj4gZmFpbHMgdG8gYnVpbGQgb24g
YXJtNjQuICBQbGVhc2UgbWFrZSBzdXJlIGFsbCB0aGVzZSBkcml2ZXJzIGNhbg0KPiA+PiA+PiBi
dWlsZCBvbiBvdGhlciBhcmNoaXRlY3R1cmVzLiAgT3IgeW91IGNhbiBzaW1wbHkgbWFrZSB0aGVt
IG9ubHkNCj4gPj4gPj4gYnVpbGQgZm9yIFBvd2VyIGFyY2hpdGVjdHVyZSBhcyBtb3N0IG9mIHRo
ZW0gYXJlIG5vdCBhdmFpbGFibGUgb24gQVJNLg0KPiA+PiA+Pg0KPiA+PiA+DQo+ID4+ID4gTW9z
dCBvZiB0aGVtIGFyZSBub3QgYXZhaWxhYmxlIG9uIEFSTSBhbmQgQVJNNjQuDQo+ID4+ID4gTm93
LCBvbmx5IHFlLWhkbGMgaXMgYXZhaWxhYmxlIG9uIEFSTTY0Lg0KPiA+Pg0KPiA+PiBUaGVuIHlv
dSBzaG91bGQgdXBkYXRlIHRoZSBLY29uZmlnIGZvciB0aGVzZSBkcml2ZXJzIHRvbywgaWYgdGhl
eSBhcmUNCj4gPj4gb25seSBkZXBlbmRpbmcgb24gQ09ORklHX1FVSUNDX0VOR0lORS4NCj4gPg0K
PiA+IFlvdSBtZWFuIGFkZGluZyAiZGVwZW5kcyBvbiBGU0xfU09DICYmIFBQQzMyICIgdG8gdGhl
IGRyaXZlcnMgdGhhdCBhcmUNCj4gbm90IGF2YWlsYWJsZSBmb3IgQVJNPw0KPiANCj4gWWVzLiAg
UHJldmlvdXNseSB0aGVzZSBkcml2ZXJzIGdldCB0aGUgYXJjaGl0ZWN0dXJlIGxpbWl0YXRpb24g
ZnJvbQ0KPiBDT05GSUdfUVVJQ0NfRU5HSU5FLCBidXQgbm93IHRoZXkgbmVlZCB0aGVtIGJ5IHRo
ZWlyIG93bi4NCj4gDQoNCg0KT2ssIEkgd2lsbCBtb2RpZnkgaXQgaW4gdGhlIG5leHQgdmVydGlv
bi4NCg0KQlINCi1aaGFvIFFpYW5nDQo=

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-09-23  8:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-25  5:43 [PATCH v5 1/2] qe: modify get_qe_base function Zhao Qiang
2016-07-25  5:43 ` [PATCH v5 2/2] QE: remove PPCisms for QE Zhao Qiang
2016-09-19 20:13   ` Leo Li
2016-09-21  1:13     ` Qiang Zhao
2016-09-21  1:13       ` Qiang Zhao
2016-09-21 18:18       ` Leo Li
2016-09-22  1:43         ` Qiang Zhao
2016-09-22  1:43           ` Qiang Zhao
2016-09-22 19:38           ` Leo Li
2016-09-23  1:10             ` Qiang Zhao
2016-09-23  1:10               ` Qiang Zhao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.