Commit 64288aa9 authored by Moses Christopher Bollavarapu's avatar Moses Christopher Bollavarapu Committed by Mauro Carvalho Chehab
Browse files

media: staging: media: atomisp: Use BIT macro instead of left shifting

There is a BIT(nr) macro available in Linux Kernel,
which does the same thing.
Example: BIT(7) = (1UL << 7)

Link: https://lore.kernel.org/linux-media/20220206185232.21726-1-mosescb.dev@gmail.com



Signed-off-by: default avatarMoses Christopher Bollavarapu <mosescb.dev@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 4caba767
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include <linux/delay.h>
#include <linux/dmi.h>
#include <linux/interrupt.h>
#include <linux/bits.h>

#include <asm/iosf_mbi.h>

@@ -626,11 +627,11 @@ static int atomisp_mrfld_pre_power_down(struct atomisp_device *isp)
	 * IRQ, if so, waiting for it to be served
	 */
	pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
	irq = irq & 1 << INTR_IIR;
	irq &= BIT(INTR_IIR);
	pci_write_config_dword(pdev, PCI_INTERRUPT_CTRL, irq);

	pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
	if (!(irq & (1 << INTR_IIR)))
	if (!(irq & BIT(INTR_IIR)))
		goto done;

	atomisp_css2_hw_store_32(MRFLD_INTR_CLEAR_REG, 0xFFFFFFFF);
@@ -643,11 +644,11 @@ static int atomisp_mrfld_pre_power_down(struct atomisp_device *isp)
		return -EAGAIN;
	} else {
		pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
		irq = irq & 1 << INTR_IIR;
		irq &= BIT(INTR_IIR);
		pci_write_config_dword(pdev, PCI_INTERRUPT_CTRL, irq);

		pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
		if (!(irq & (1 << INTR_IIR))) {
		if (!(irq & BIT(INTR_IIR))) {
			atomisp_css2_hw_store_32(MRFLD_INTR_ENABLE_REG, 0x0);
			goto done;
		}
@@ -666,7 +667,7 @@ static int atomisp_mrfld_pre_power_down(struct atomisp_device *isp)
	* HW sighting:4568410.
	*/
	pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
	irq &= ~(1 << INTR_IER);
	irq &= ~BIT(INTR_IER);
	pci_write_config_dword(pdev, PCI_INTERRUPT_CTRL, irq);

	atomisp_msi_irq_uninit(isp);
@@ -1549,7 +1550,7 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i
	start = pci_resource_start(pdev, ATOM_ISP_PCI_BAR);
	dev_dbg(&pdev->dev, "start: 0x%x\n", start);

	err = pcim_iomap_regions(pdev, 1 << ATOM_ISP_PCI_BAR, pci_name(pdev));
	err = pcim_iomap_regions(pdev, BIT(ATOM_ISP_PCI_BAR), pci_name(pdev));
	if (err) {
		dev_err(&pdev->dev, "Failed to I/O memory remapping (%d)\n", err);
		goto ioremap_fail;
@@ -1838,11 +1839,11 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i
	 */

	pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
	irq = irq & 1 << INTR_IIR;
	irq &= BIT(INTR_IIR);
	pci_write_config_dword(pdev, PCI_INTERRUPT_CTRL, irq);

	pci_read_config_dword(pdev, PCI_INTERRUPT_CTRL, &irq);
	irq &= ~(1 << INTR_IER);
	irq &= ~BIT(INTR_IER);
	pci_write_config_dword(pdev, PCI_INTERRUPT_CTRL, irq);

	atomisp_msi_irq_uninit(isp);
@@ -1854,7 +1855,7 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i
		dev_err(&pdev->dev, "Failed to switch off ISP\n");

atomisp_dev_alloc_fail:
	pcim_iounmap_regions(pdev, 1 << ATOM_ISP_PCI_BAR);
	pcim_iounmap_regions(pdev, BIT(ATOM_ISP_PCI_BAR));

ioremap_fail:
	return err;
+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <type_support.h>
#include <platform_support.h>
#include <debug_global.h>
#include <linux/bits.h>

#include "ia_css_types.h"
#include "ia_css_frame_format.h"
@@ -466,7 +467,7 @@ struct ia_css_acc_fw {

enum ia_css_sp_sleep_mode {
	SP_DISABLE_SLEEP_MODE = 0,
	SP_SLEEP_AFTER_FRAME = 1 << 0,
	SP_SLEEP_AFTER_IRQ = 1 << 1
	SP_SLEEP_AFTER_FRAME  = BIT(0),
	SP_SLEEP_AFTER_IRQ    = BIT(1),
};
#endif /* _IA_CSS_ACC_TYPES_H */
+5 −4
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <type_support.h>
#include <linux/stdarg.h> /* va_list */
#include <linux/bits.h>
#include "ia_css_types.h"
#include "ia_css_acc_types.h"

@@ -28,10 +29,10 @@

/* Memory allocation attributes, for use in ia_css_css_mem_env. */
enum ia_css_mem_attr {
	IA_CSS_MEM_ATTR_CACHED = 1 << 0,
	IA_CSS_MEM_ATTR_ZEROED = 1 << 1,
	IA_CSS_MEM_ATTR_PAGEALIGN = 1 << 2,
	IA_CSS_MEM_ATTR_CONTIGUOUS = 1 << 3,
	IA_CSS_MEM_ATTR_CACHED     = BIT(0),
	IA_CSS_MEM_ATTR_ZEROED     = BIT(1),
	IA_CSS_MEM_ATTR_PAGEALIGN  = BIT(2),
	IA_CSS_MEM_ATTR_CONTIGUOUS = BIT(3),
};

/* Environment with function pointers for local IA memory allocation.
+17 −16
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <ia_css_err.h>		/* ia_css_err */
#include <ia_css_types.h>	/* ia_css_pipe */
#include <ia_css_timer.h>	/* ia_css_timer */
#include <linux/bits.h>

/* The event type, distinguishes the kind of events that
 * can are generated by the CSS system.
@@ -35,38 +36,38 @@
 * 4) "enum ia_css_event_type convert_event_sp_to_host_domain"	(sh_css.c)
 */
enum ia_css_event_type {
	IA_CSS_EVENT_TYPE_OUTPUT_FRAME_DONE		= 1 << 0,
	IA_CSS_EVENT_TYPE_OUTPUT_FRAME_DONE		= BIT(0),
	/** Output frame ready. */
	IA_CSS_EVENT_TYPE_SECOND_OUTPUT_FRAME_DONE	= 1 << 1,
	IA_CSS_EVENT_TYPE_SECOND_OUTPUT_FRAME_DONE	= BIT(1),
	/** Second output frame ready. */
	IA_CSS_EVENT_TYPE_VF_OUTPUT_FRAME_DONE		= 1 << 2,
	IA_CSS_EVENT_TYPE_VF_OUTPUT_FRAME_DONE		= BIT(2),
	/** Viewfinder Output frame ready. */
	IA_CSS_EVENT_TYPE_SECOND_VF_OUTPUT_FRAME_DONE	= 1 << 3,
	IA_CSS_EVENT_TYPE_SECOND_VF_OUTPUT_FRAME_DONE	= BIT(3),
	/** Second viewfinder Output frame ready. */
	IA_CSS_EVENT_TYPE_3A_STATISTICS_DONE		= 1 << 4,
	IA_CSS_EVENT_TYPE_3A_STATISTICS_DONE		= BIT(4),
	/** Indication that 3A statistics are available. */
	IA_CSS_EVENT_TYPE_DIS_STATISTICS_DONE		= 1 << 5,
	IA_CSS_EVENT_TYPE_DIS_STATISTICS_DONE		= BIT(5),
	/** Indication that DIS statistics are available. */
	IA_CSS_EVENT_TYPE_PIPELINE_DONE			= 1 << 6,
	IA_CSS_EVENT_TYPE_PIPELINE_DONE			= BIT(6),
	/** Pipeline Done event, sent after last pipeline stage. */
	IA_CSS_EVENT_TYPE_FRAME_TAGGED			= 1 << 7,
	IA_CSS_EVENT_TYPE_FRAME_TAGGED			= BIT(7),
	/** Frame tagged. */
	IA_CSS_EVENT_TYPE_INPUT_FRAME_DONE		= 1 << 8,
	IA_CSS_EVENT_TYPE_INPUT_FRAME_DONE		= BIT(8),
	/** Input frame ready. */
	IA_CSS_EVENT_TYPE_METADATA_DONE			= 1 << 9,
	IA_CSS_EVENT_TYPE_METADATA_DONE			= BIT(9),
	/** Metadata ready. */
	IA_CSS_EVENT_TYPE_LACE_STATISTICS_DONE		= 1 << 10,
	IA_CSS_EVENT_TYPE_LACE_STATISTICS_DONE		= BIT(10),
	/** Indication that LACE statistics are available. */
	IA_CSS_EVENT_TYPE_ACC_STAGE_COMPLETE		= 1 << 11,
	IA_CSS_EVENT_TYPE_ACC_STAGE_COMPLETE		= BIT(11),
	/** Extension stage complete. */
	IA_CSS_EVENT_TYPE_TIMER				= 1 << 12,
	IA_CSS_EVENT_TYPE_TIMER				= BIT(12),
	/** Timer event for measuring the SP side latencies. It contains the
	     32-bit timer value from the SP */
	IA_CSS_EVENT_TYPE_PORT_EOF			= 1 << 13,
	IA_CSS_EVENT_TYPE_PORT_EOF			= BIT(13),
	/** End Of Frame event, sent when in buffered sensor mode. */
	IA_CSS_EVENT_TYPE_FW_WARNING			= 1 << 14,
	IA_CSS_EVENT_TYPE_FW_WARNING			= BIT(14),
	/** Performance warning encounter by FW */
	IA_CSS_EVENT_TYPE_FW_ASSERT			= 1 << 15,
	IA_CSS_EVENT_TYPE_FW_ASSERT			= BIT(15),
	/** Assertion hit by FW */
};

+39 −38
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include "ia_css_err.h"
#include "ia_css_pipe_public.h"
#include "ia_css_input_port.h"
#include <linux/bits.h>

/* Interrupt types, these enumerate all supported interrupt types.
 */
@@ -46,49 +47,49 @@ enum ia_css_irq_type {
 * (SW) interrupts
 */
enum ia_css_irq_info {
	IA_CSS_IRQ_INFO_CSS_RECEIVER_ERROR            = 1 << 0,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_ERROR            = BIT(0),
	/** the css receiver has encountered an error */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_FIFO_OVERFLOW    = 1 << 1,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_FIFO_OVERFLOW    = BIT(1),
	/** the FIFO in the csi receiver has overflown */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF              = 1 << 2,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF              = BIT(2),
	/** the css receiver received the start of frame */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_EOF              = 1 << 3,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_EOF              = BIT(3),
	/** the css receiver received the end of frame */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_SOL              = 1 << 4,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_SOL              = BIT(4),
	/** the css receiver received the start of line */
	IA_CSS_IRQ_INFO_EVENTS_READY                  = 1 << 5,
	IA_CSS_IRQ_INFO_EVENTS_READY                  = BIT(5),
	/** One or more events are available in the PSYS event queue */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_EOL              = 1 << 6,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_EOL              = BIT(6),
	/** the css receiver received the end of line */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_SIDEBAND_CHANGED = 1 << 7,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_SIDEBAND_CHANGED = BIT(7),
	/** the css receiver received a change in side band signals */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_GEN_SHORT_0      = 1 << 8,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_GEN_SHORT_0      = BIT(8),
	/** generic short packets (0) */
	IA_CSS_IRQ_INFO_CSS_RECEIVER_GEN_SHORT_1      = 1 << 9,
	IA_CSS_IRQ_INFO_CSS_RECEIVER_GEN_SHORT_1      = BIT(9),
	/** generic short packets (1) */
	IA_CSS_IRQ_INFO_IF_PRIM_ERROR                 = 1 << 10,
	IA_CSS_IRQ_INFO_IF_PRIM_ERROR                 = BIT(10),
	/** the primary input formatter (A) has encountered an error */
	IA_CSS_IRQ_INFO_IF_PRIM_B_ERROR               = 1 << 11,
	IA_CSS_IRQ_INFO_IF_PRIM_B_ERROR               = BIT(11),
	/** the primary input formatter (B) has encountered an error */
	IA_CSS_IRQ_INFO_IF_SEC_ERROR                  = 1 << 12,
	IA_CSS_IRQ_INFO_IF_SEC_ERROR                  = BIT(12),
	/** the secondary input formatter has encountered an error */
	IA_CSS_IRQ_INFO_STREAM_TO_MEM_ERROR           = 1 << 13,
	IA_CSS_IRQ_INFO_STREAM_TO_MEM_ERROR           = BIT(13),
	/** the stream-to-memory device has encountered an error */
	IA_CSS_IRQ_INFO_SW_0                          = 1 << 14,
	IA_CSS_IRQ_INFO_SW_0                          = BIT(14),
	/** software interrupt 0 */
	IA_CSS_IRQ_INFO_SW_1                          = 1 << 15,
	IA_CSS_IRQ_INFO_SW_1                          = BIT(15),
	/** software interrupt 1 */
	IA_CSS_IRQ_INFO_SW_2                          = 1 << 16,
	IA_CSS_IRQ_INFO_SW_2                          = BIT(16),
	/** software interrupt 2 */
	IA_CSS_IRQ_INFO_ISP_BINARY_STATISTICS_READY   = 1 << 17,
	IA_CSS_IRQ_INFO_ISP_BINARY_STATISTICS_READY   = BIT(17),
	/** ISP binary statistics are ready */
	IA_CSS_IRQ_INFO_INPUT_SYSTEM_ERROR            = 1 << 18,
	IA_CSS_IRQ_INFO_INPUT_SYSTEM_ERROR            = BIT(18),
	/** the input system in in error */
	IA_CSS_IRQ_INFO_IF_ERROR                      = 1 << 19,
	IA_CSS_IRQ_INFO_IF_ERROR                      = BIT(19),
	/** the input formatter in in error */
	IA_CSS_IRQ_INFO_DMA_ERROR                     = 1 << 20,
	IA_CSS_IRQ_INFO_DMA_ERROR                     = BIT(20),
	/** the dma in in error */
	IA_CSS_IRQ_INFO_ISYS_EVENTS_READY             = 1 << 21,
	IA_CSS_IRQ_INFO_ISYS_EVENTS_READY             = BIT(21),
	/** end-of-frame events are ready in the isys_event queue */
};

@@ -103,23 +104,23 @@ enum ia_css_irq_info {
 * different receiver types, or possibly none in case of tests systems.
 */
enum ia_css_rx_irq_info {
	IA_CSS_RX_IRQ_INFO_BUFFER_OVERRUN   = 1U << 0, /** buffer overrun */
	IA_CSS_RX_IRQ_INFO_ENTER_SLEEP_MODE = 1U << 1, /** entering sleep mode */
	IA_CSS_RX_IRQ_INFO_EXIT_SLEEP_MODE  = 1U << 2, /** exited sleep mode */
	IA_CSS_RX_IRQ_INFO_ECC_CORRECTED    = 1U << 3, /** ECC corrected */
	IA_CSS_RX_IRQ_INFO_ERR_SOT          = 1U << 4,
	IA_CSS_RX_IRQ_INFO_BUFFER_OVERRUN   = BIT(0),  /** buffer overrun */
	IA_CSS_RX_IRQ_INFO_ENTER_SLEEP_MODE = BIT(1),  /** entering sleep mode */
	IA_CSS_RX_IRQ_INFO_EXIT_SLEEP_MODE  = BIT(2),  /** exited sleep mode */
	IA_CSS_RX_IRQ_INFO_ECC_CORRECTED    = BIT(3),  /** ECC corrected */
	IA_CSS_RX_IRQ_INFO_ERR_SOT          = BIT(4),
	/** Start of transmission */
	IA_CSS_RX_IRQ_INFO_ERR_SOT_SYNC     = 1U << 5, /** SOT sync (??) */
	IA_CSS_RX_IRQ_INFO_ERR_CONTROL      = 1U << 6, /** Control (??) */
	IA_CSS_RX_IRQ_INFO_ERR_ECC_DOUBLE   = 1U << 7, /** Double ECC */
	IA_CSS_RX_IRQ_INFO_ERR_CRC          = 1U << 8, /** CRC error */
	IA_CSS_RX_IRQ_INFO_ERR_UNKNOWN_ID   = 1U << 9, /** Unknown ID */
	IA_CSS_RX_IRQ_INFO_ERR_FRAME_SYNC   = 1U << 10,/** Frame sync error */
	IA_CSS_RX_IRQ_INFO_ERR_FRAME_DATA   = 1U << 11,/** Frame data error */
	IA_CSS_RX_IRQ_INFO_ERR_DATA_TIMEOUT = 1U << 12,/** Timeout occurred */
	IA_CSS_RX_IRQ_INFO_ERR_UNKNOWN_ESC  = 1U << 13,/** Unknown escape seq. */
	IA_CSS_RX_IRQ_INFO_ERR_LINE_SYNC    = 1U << 14,/** Line Sync error */
	IA_CSS_RX_IRQ_INFO_INIT_TIMEOUT     = 1U << 15,
	IA_CSS_RX_IRQ_INFO_ERR_SOT_SYNC     = BIT(5),  /** SOT sync (??) */
	IA_CSS_RX_IRQ_INFO_ERR_CONTROL      = BIT(6),  /** Control (??) */
	IA_CSS_RX_IRQ_INFO_ERR_ECC_DOUBLE   = BIT(7),  /** Double ECC */
	IA_CSS_RX_IRQ_INFO_ERR_CRC          = BIT(8),  /** CRC error */
	IA_CSS_RX_IRQ_INFO_ERR_UNKNOWN_ID   = BIT(9),  /** Unknown ID */
	IA_CSS_RX_IRQ_INFO_ERR_FRAME_SYNC   = BIT(10), /** Frame sync error */
	IA_CSS_RX_IRQ_INFO_ERR_FRAME_DATA   = BIT(11), /** Frame data error */
	IA_CSS_RX_IRQ_INFO_ERR_DATA_TIMEOUT = BIT(12), /** Timeout occurred */
	IA_CSS_RX_IRQ_INFO_ERR_UNKNOWN_ESC  = BIT(13), /** Unknown escape seq. */
	IA_CSS_RX_IRQ_INFO_ERR_LINE_SYNC    = BIT(14), /** Line Sync error */
	IA_CSS_RX_IRQ_INFO_INIT_TIMEOUT     = BIT(15),
};

/* Interrupt info structure. This structure contains information about an
Loading