From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-fbdev@vger.kernel, devel@driverdev.osuosl.org,
linux-kernel@vger.kernel.org,
Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Subject: [PATCH 1/2] staging: sm750fb: remove 750LE code
Date: Thu, 19 Mar 2015 18:47:40 +0530 [thread overview]
Message-ID: <1426771061-28103-1-git-send-email-sudipm.mukherjee@gmail.com> (raw)
750LE is a special version of the hardware with Ip Core and
Silicon Motion is making this hardware only for Huawei. It is not
available to anyone else.
So its better to remove the codes related to SM750LE.
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
---
this patch will generate warning from checkpatch. but since those were
already there in the file so nothing has been done about it.
and I am not sure if this patch will apply or not as some patches
of Lorenzo Stoakes and Ragavendra Nagraj are already pending.
if those patches are already applied then this will not apply.
drivers/staging/sm750fb/ddk750_chip.c | 64 ++++++----------------------------
drivers/staging/sm750fb/ddk750_mode.c | 19 +++-------
drivers/staging/sm750fb/ddk750_swi2c.c | 3 --
drivers/staging/sm750fb/sm750.c | 9 ++---
drivers/staging/sm750fb/sm750_hw.c | 55 ++++-------------------------
5 files changed, 24 insertions(+), 126 deletions(-)
diff --git a/drivers/staging/sm750fb/ddk750_chip.c b/drivers/staging/sm750fb/ddk750_chip.c
index 33add64..a8ebedd 100644
--- a/drivers/staging/sm750fb/ddk750_chip.c
+++ b/drivers/staging/sm750fb/ddk750_chip.c
@@ -20,22 +20,14 @@ logical_chip_type_t getChipType(void)
physicalID = devId750;//either 0x718 or 0x750
physicalRev = revId750;
- if (physicalID == 0x718)
- {
- chip = SM718;
- }
- else if (physicalID == 0x750)
- {
- chip = SM750;
- /* SM750 and SM750LE are different in their revision ID only. */
- if (physicalRev == SM750LE_REVISION_ID){
- chip = SM750LE;
- }
- }
- else
- {
- chip = SM_UNKNOWN;
- }
+ if (physicalID == 0x750)
+ {
+ chip = SM750;
+ }
+ else
+ {
+ chip = SM_UNKNOWN;
+ }
return chip;
}
@@ -94,10 +86,6 @@ unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL)
unsigned int getChipClock(void)
{
pll_value_t pll;
-#if 1
- if(getChipType() == SM750LE)
- return MHz(130);
-#endif
return getPllValue(MXCLK_PLL, &pll);
}
@@ -112,11 +100,6 @@ void setChipClock(unsigned int frequency)
{
pll_value_t pll;
unsigned int ulActualMxClk;
-#if 1
- /* Cheok_0509: For SM750LE, the chip clock is fixed. Nothing to set. */
- if (getChipType() == SM750LE)
- return;
-#endif
if (frequency != 0)
{
@@ -143,11 +126,7 @@ void setChipClock(unsigned int frequency)
void setMemoryClock(unsigned int frequency)
{
unsigned int ulReg, divisor;
- #if 1
- /* Cheok_0509: For SM750LE, the memory clock is fixed. Nothing to set. */
- if (getChipType() == SM750LE)
- return;
-#endif
+
if (frequency != 0)
{
/* Set the frequency to the maximum frequency that the DDR Memory can take
@@ -193,11 +172,7 @@ void setMemoryClock(unsigned int frequency)
void setMasterClock(unsigned int frequency)
{
unsigned int ulReg, divisor;
- #if 1
- /* Cheok_0509: For SM750LE, the memory clock is fixed. Nothing to set. */
- if (getChipType() == SM750LE)
- return;
-#endif
+
if (frequency != 0)
{
/* Set the frequency to the maximum frequency that the SM750 engine can
@@ -237,10 +212,6 @@ unsigned int ddk750_getVMSize(void)
unsigned int reg;
unsigned int data;
- /* sm750le only use 64 mb memory*/
- if(getChipType() == SM750LE)
- return MB(64);
-
/* for 750,always use power mode0*/
reg = PEEK32(MODE0_GATE);
reg = FIELD_SET(reg,MODE0_GATE,GPIO,ON);
@@ -291,12 +262,6 @@ int ddk750_initHw(initchip_param_t * pInitParam)
ulReg = FIELD_SET(ulReg,VGA_CONFIGURATION,PLL,PANEL);
ulReg = FIELD_SET(ulReg,VGA_CONFIGURATION,MODE,GRAPHIC);
POKE32(VGA_CONFIGURATION,ulReg);
- }else{
-#if defined(__i386__) || defined( __x86_64__)
- /* set graphic mode via IO method */
- outb_p(0x88,0x3d4);
- outb_p(0x06,0x3d5);
-#endif
}
/* Set the Main Chip Clock */
@@ -444,15 +409,6 @@ unsigned int calcPllValue(unsigned int request_orig,pll_value_t *pll)
unsigned int tmpClock,ret;
pllcalparam * xparm;
-#if 1
- if (getChipType() == SM750LE)
- {
- /* SM750LE don't have prgrammable PLL and M/N values to work on.
- Just return the requested clock. */
- return request_orig;
- }
-#endif
-
ret = 0;
miniDiff = ~0;
request = request_orig / 1000;
diff --git a/drivers/staging/sm750fb/ddk750_mode.c b/drivers/staging/sm750fb/ddk750_mode.c
index 2e418fb..44e346a 100644
--- a/drivers/staging/sm750fb/ddk750_mode.c
+++ b/drivers/staging/sm750fb/ddk750_mode.c
@@ -107,17 +107,13 @@ static int programModeRegisters(mode_parameter_t * pModeParam,pll_value_t * pll)
FIELD_SET(0,CRT_DISPLAY_CTRL,PLANE,ENABLE);
- if(getChipType() == SM750LE){
- displayControlAdjust_SM750LE(pModeParam,ulTmpValue);
- }else{
- ulReg = PEEK32(CRT_DISPLAY_CTRL)
- & FIELD_CLEAR(CRT_DISPLAY_CTRL,VSYNC_PHASE)
- & FIELD_CLEAR(CRT_DISPLAY_CTRL,HSYNC_PHASE)
- & FIELD_CLEAR(CRT_DISPLAY_CTRL,TIMING)
- & FIELD_CLEAR(CRT_DISPLAY_CTRL,PLANE);
+ ulReg = PEEK32(CRT_DISPLAY_CTRL)
+ & FIELD_CLEAR(CRT_DISPLAY_CTRL, VSYNC_PHASE)
+ & FIELD_CLEAR(CRT_DISPLAY_CTRL, HSYNC_PHASE)
+ & FIELD_CLEAR(CRT_DISPLAY_CTRL, TIMING)
+ & FIELD_CLEAR(CRT_DISPLAY_CTRL, PLANE);
POKE32(CRT_DISPLAY_CTRL,ulTmpValue|ulReg);
- }
}
else if(pll->clockType == PRIMARY_PLL)
@@ -193,11 +189,6 @@ int ddk750_setModeTiming(mode_parameter_t * parm,clock_type_t clock)
pll.clockType = clock;
uiActualPixelClk = calcPllValue(parm->pixel_clock,&pll);
- if(getChipType() == SM750LE){
- /* set graphic mode via IO method */
- outb_p(0x88,0x3d4);
- outb_p(0x06,0x3d5);
- }
programModeRegisters(parm,&pll);
return 0;
}
diff --git a/drivers/staging/sm750fb/ddk750_swi2c.c b/drivers/staging/sm750fb/ddk750_swi2c.c
index 8557cce..b162ced 100644
--- a/drivers/staging/sm750fb/ddk750_swi2c.c
+++ b/drivers/staging/sm750fb/ddk750_swi2c.c
@@ -410,9 +410,6 @@ long swI2CInit(
if ((i2cClkGPIO > 31) || (i2cDataGPIO > 31))
return -1;
- if (getChipType() == SM750LE)
- return swI2CInit_SM750LE(i2cClkGPIO, i2cDataGPIO);
-
/* Initialize the GPIO pin for the i2c Clock Register */
g_i2cClkGPIOMuxReg = GPIO_MUX;
g_i2cClkGPIODataReg = GPIO_DATA;
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index a7b1b9c..8a6e36b 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -701,10 +701,10 @@ static int sm750fb_set_drv(struct lynxfb_par * par)
output->proc_setMode = hw_sm750_output_setMode;
output->proc_checkMode = hw_sm750_output_checkMode;
- output->proc_setBLANK = (share->revid == SM750LE_REVISION_ID)?hw_sm750le_setBLANK:hw_sm750_setBLANK;
+ output->proc_setBLANK = hw_sm750_setBLANK;
output->clear = hw_sm750_output_clear;
/* chip specific phase */
- share->accel.de_wait = (share->revid == SM750LE_REVISION_ID)?hw_sm750le_deWait: hw_sm750_deWait;
+ share->accel.de_wait = hw_sm750_deWait;
switch (spec_share->state.dataflow)
{
case sm750_simul_pri:
@@ -1059,11 +1059,6 @@ NO_PARAM:
else
spec_share->state.dataflow = sm750_simul_pri;
}
- }else{
- /* SM750LE only have one crt channel */
- spec_share->state.dataflow = sm750_simul_sec;
- /* sm750le do not have complex attributes*/
- spec_share->state.nocrt = 0;
}
}
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index 9f0d06d..f7d2db9 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -109,9 +109,7 @@ int hw_sm750_inithw(struct lynx_share* share, struct pci_dev * pdev)
spec_share = container_of(share, struct sm750_share,share);
parm = &spec_share->state.initParm;
if(parm->chip_clk == 0)
- parm->chip_clk = (getChipType() == SM750LE)?
- DEFAULT_SM750LE_CHIP_CLOCK :
- DEFAULT_SM750_CHIP_CLOCK;
+ parm->chip_clk = DEFAULT_SM750_CHIP_CLOCK;
if(parm->mem_clk == 0)
parm->mem_clk = parm->chip_clk;
@@ -167,28 +165,6 @@ int hw_sm750_inithw(struct lynx_share* share, struct pci_dev * pdev)
spec_share->state.pnltype));
break;
}
- }else{
- /* for 750LE ,no DVI chip initilization makes Monitor no signal */
- /* Set up GPIO for software I2C to program DVI chip in the
- Xilinx SP605 board, in order to have video signal.
- */
- swI2CInit(0,1);
-
-
- /* Customer may NOT use CH7301 DVI chip, which has to be
- initialized differently.
- */
- if (swI2CReadReg(0xec, 0x4a) == 0x95)
- {
- /* The following register values for CH7301 are from
- Chrontel app note and our experiment.
- */
- pr_info("yes,CH7301 DVI chip found\n");
- swI2CWriteReg(0xec, 0x1d, 0x16);
- swI2CWriteReg(0xec, 0x21, 0x9);
- swI2CWriteReg(0xec, 0x49, 0xC0);
- pr_info("okay,CH7301 DVI chip setup done\n");
- }
}
/* init 2d engine */
@@ -247,12 +223,6 @@ int hw_sm750_output_setMode(struct lynxfb_output* output,
}
ddk750_setLogicalDispOut(dispSet);
- }else{
- /* just open DISPLAY_CONTROL_750LE register bit 3:0*/
- u32 reg;
- reg = PEEK32(DISPLAY_CONTROL_750LE);
- reg |= 0xf;
- POKE32(DISPLAY_CONTROL_750LE, reg);
}
pr_info("ddk setlogicdispout done \n");
@@ -557,25 +527,14 @@ void hw_sm750_initAccel(struct lynx_share * share)
u32 reg;
enable2DEngine(1);
- if(getChipType() == SM750LE){
- reg = PEEK32(DE_STATE1);
- reg = FIELD_SET(reg, DE_STATE1, DE_ABORT,ON);
- POKE32(DE_STATE1,reg);
-
- reg = PEEK32(DE_STATE1);
- reg = FIELD_SET(reg, DE_STATE1, DE_ABORT,OFF);
- POKE32(DE_STATE1, reg);
-
- }else{
/* engine reset */
- reg = PEEK32(SYSTEM_CTRL);
- reg = FIELD_SET(reg, SYSTEM_CTRL, DE_ABORT,ON);
- POKE32(SYSTEM_CTRL, reg);
+ reg = PEEK32(SYSTEM_CTRL);
+ reg = FIELD_SET(reg, SYSTEM_CTRL, DE_ABORT, ON);
+ POKE32(SYSTEM_CTRL, reg);
- reg = PEEK32(SYSTEM_CTRL);
- reg = FIELD_SET(reg, SYSTEM_CTRL, DE_ABORT,OFF);
- POKE32(SYSTEM_CTRL, reg);
- }
+ reg = PEEK32(SYSTEM_CTRL);
+ reg = FIELD_SET(reg, SYSTEM_CTRL, DE_ABORT, OFF);
+ POKE32(SYSTEM_CTRL, reg);
/* call 2d init */
share->accel.de_init(&share->accel);
--
1.8.1.2
next reply other threads:[~2015-03-19 13:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-19 13:17 Sudip Mukherjee [this message]
2015-03-19 13:17 ` [PATCH 2/2] staging: sm750fb: fix build warning Sudip Mukherjee
2015-03-19 13:22 ` [PATCH 1/2] staging: sm750fb: remove 750LE code Greg Kroah-Hartman
2015-03-19 14:03 ` Sudip Mukherjee
2015-03-19 14:15 ` Greg Kroah-Hartman
2015-03-19 14:28 ` Sudip Mukherjee
2015-03-19 13:28 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1426771061-28103-1-git-send-email-sudipm.mukherjee@gmail.com \
--to=sudipm.mukherjee@gmail.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-fbdev@vger.kernel \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®