[PATCH 1/2] staging: sm750fb: remove 750LE code

2015-03-19 Thread Sudip Mukherjee
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 
---

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

[PATCH 2/2] staging: sm750fb: fix build warning

2015-03-19 Thread Sudip Mukherjee
after removing the 750LE related codes we started getting a build
warning about an unused function. Hence removing that function also.

Signed-off-by: Sudip Mukherjee 
---
 drivers/staging/sm750fb/ddk750_mode.c | 70 ---
 1 file changed, 70 deletions(-)

diff --git a/drivers/staging/sm750fb/ddk750_mode.c 
b/drivers/staging/sm750fb/ddk750_mode.c
index 44e346a..df4e14e 100644
--- a/drivers/staging/sm750fb/ddk750_mode.c
+++ b/drivers/staging/sm750fb/ddk750_mode.c
@@ -4,76 +4,6 @@
 #include "ddk750_mode.h"
 #include "ddk750_chip.h"
 
-/*
-   SM750LE only:
-This function takes care extra registers and bit fields required to set
-up a mode in SM750LE
-
-   Explanation about Display Control register:
-HW only supports 7 predefined pixel clocks, and clock select is
-in bit 29:27 ofDisplay Control register.
-*/
-static unsigned long displayControlAdjust_SM750LE(mode_parameter_t 
*pModeParam, unsigned long dispControl)
-{
-   unsigned long x, y;
-
-   x = pModeParam->horizontal_display_end;
-   y = pModeParam->vertical_display_end;
-
-/* SM750LE has to set up the top-left and bottom-right
-   registers as well.
-   Note that normal SM750/SM718 only use those two register for
-   auto-centering mode.
-*/
-POKE32(CRT_AUTO_CENTERING_TL,
-  FIELD_VALUE(0, CRT_AUTO_CENTERING_TL, TOP, 0)
-| FIELD_VALUE(0, CRT_AUTO_CENTERING_TL, LEFT, 0));
-
-POKE32(CRT_AUTO_CENTERING_BR,
-  FIELD_VALUE(0, CRT_AUTO_CENTERING_BR, BOTTOM, y-1)
-| FIELD_VALUE(0, CRT_AUTO_CENTERING_BR, RIGHT, x-1));
-
-/* Assume common fields in dispControl have been properly set before
-   calling this function.
-   This function only sets the extra fields in dispControl.
-*/
-
-   /* Clear bit 29:27 of display control register */
-dispControl &= FIELD_CLEAR(CRT_DISPLAY_CTRL, CLK);
-
-   /* Set bit 29:27 of display control register for the right clock */
-   /* Note that SM750LE only need to supported 7 resoluitons. */
-   if ( x == 800 && y == 600 )
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL41);
-   else if (x == 1024 && y == 768)
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL65);
-   else if (x == 1152 && y == 864)
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL80);
-   else if (x == 1280 && y == 768)
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL80);
-   else if (x == 1280 && y == 720)
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL74);
-   else if (x == 1280 && y == 960)
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL108);
-   else if (x == 1280 && y == 1024)
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL108);
-   else /* default to VGA clock */
-   dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLK, PLL25);
-
-   /* Set bit 25:24 of display controller */
-dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CRTSELECT, CRT);
-dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, RGBBIT, 24BIT);
-
-/* Set bit 14 of display controller */
-dispControl = FIELD_SET(dispControl, CRT_DISPLAY_CTRL, CLOCK_PHASE, 
ACTIVE_LOW);
-
-POKE32(CRT_DISPLAY_CTRL, dispControl);
-
-   return dispControl;
-}
-
-
-
 /* only timing related registers will be  programed */
 static int programModeRegisters(mode_parameter_t * pModeParam,pll_value_t * 
pll)
 {
-- 
1.8.1.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: vt6655: remove deprecated use of pci api

2015-03-19 Thread Quentin Lambert
Replace occurences of the pci api by appropriate call to the dma api.

A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr)

@deprecated@
idexpression id;
position p;
@@

(
  pci_dma_supported@p ( id, ...)
|
  pci_alloc_consistent@p ( id, ...)
)

@bad1@
idexpression id;
position deprecated.p;
@@
...when != &id->dev
   when != pci_get_drvdata ( id )
   when != pci_enable_device ( id )
(
  pci_dma_supported@p ( id, ...)
|
  pci_alloc_consistent@p ( id, ...)
)

@depends on !bad1@
idexpression id;
expression direction;
position deprecated.p;
@@

(
- pci_dma_supported@p ( id,
+ dma_supported ( &id->dev,
...
+ , GFP_ATOMIC
  )
|
- pci_alloc_consistent@p ( id,
+ dma_alloc_coherent ( &id->dev,
...
+ , GFP_ATOMIC
  )
)

Signed-off-by: Quentin Lambert 
---
 drivers/staging/vt6655/device_main.c | 39 ++--
 drivers/staging/vt6655/dpc.c |  4 ++--
 2 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/vt6655/device_main.c 
b/drivers/staging/vt6655/device_main.c
index 14c935fed8a0..4bb4f8ee4132 100644
--- a/drivers/staging/vt6655/device_main.c
+++ b/drivers/staging/vt6655/device_main.c
@@ -530,12 +530,12 @@ static bool device_init_rings(struct vnt_private *pDevice)
void *vir_pool;
 
/*allocate all RD/TD rings a single pool*/
-   vir_pool = pci_zalloc_consistent(pDevice->pcid,
+   vir_pool = dma_zalloc_coherent(&pDevice->pcid->dev,
 pDevice->sOpts.nRxDescs0 * 
sizeof(SRxDesc) +
 pDevice->sOpts.nRxDescs1 * 
sizeof(SRxDesc) +
 pDevice->sOpts.nTxDescs[0] * 
sizeof(STxDesc) +
 pDevice->sOpts.nTxDescs[1] * 
sizeof(STxDesc),
-&pDevice->pool_dma);
+&pDevice->pool_dma, GFP_ATOMIC);
if (vir_pool == NULL) {
dev_err(&pDevice->pcid->dev, "allocate desc dma memory 
failed\n");
return false;
@@ -549,16 +549,17 @@ static bool device_init_rings(struct vnt_private *pDevice)
pDevice->rd1_pool_dma = pDevice->rd0_pool_dma +
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc);
 
-   pDevice->tx0_bufs = pci_zalloc_consistent(pDevice->pcid,
+   pDevice->tx0_bufs = dma_zalloc_coherent(&pDevice->pcid->dev,
  pDevice->sOpts.nTxDescs[0] * 
PKT_BUF_SZ +
  pDevice->sOpts.nTxDescs[1] * 
PKT_BUF_SZ +
  CB_BEACON_BUF_SIZE +
  CB_MAX_BUF_SIZE,
- &pDevice->tx_bufs_dma0);
+ &pDevice->tx_bufs_dma0,
+ GFP_ATOMIC);
if (pDevice->tx0_bufs == NULL) {
dev_err(&pDevice->pcid->dev, "allocate buf dma memory 
failed\n");
 
-   pci_free_consistent(pDevice->pcid,
+   dma_free_coherent(&pDevice->pcid->dev,
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
pDevice->sOpts.nTxDescs[0] * 
sizeof(STxDesc) +
@@ -604,7 +605,7 @@ static bool device_init_rings(struct vnt_private *pDevice)
 
 static void device_free_rings(struct vnt_private *pDevice)
 {
-   pci_free_consistent(pDevice->pcid,
+   dma_free_coherent(&pDevice->pcid->dev,
pDevice->sOpts.nRxDescs0 * sizeof(SRxDesc) +
pDevice->sOpts.nRxDescs1 * sizeof(SRxDesc) +
pDevice->sOpts.nTxDescs[0] * sizeof(STxDesc) +
@@ -614,7 +615,7 @@ static void device_free_rings(struct vnt_private *pDevice)
);
 
if (pDevice->tx0_bufs)
-   pci_free_consistent(pDevice->pcid,
+   dma_free_coherent(&pDevice->pcid->dev,
pDevice->sOpts.nTxDescs[0] * PKT_BUF_SZ +
pDevice->sOpts.nTxDescs[1] * PKT_BUF_SZ +
CB_BEACON_BUF_SIZE +
@@ -679,8 +680,8 @@ static void device_free_rd0_ring(struct vnt_private 
*pDevice)
PSRxDescpDesc = &(pDevice->aRD0Ring[i]);
PDEVICE_RD_INFO  pRDInfo = pDesc->pRDInfo;
 
-   pci_unmap_single(pDevice->pcid, pRDInfo->skb_dma,
-pDevice->rx_buf_sz, PCI_DMA_FROMDEVICE);
+   dma_unmap_single(&pDevice->pcid->dev, pRDInfo->skb_dma,
+pDevice->rx_buf_sz, DMA_FROM_DEVICE);
 
dev_kfree_skb(pRDInfo->skb);
 
@@ -696,8 +697,8 @@ static void device_free_rd1_ring(struct vnt_private 
*pDevice)
 

Re: [PATCH 1/2] staging: sm750fb: remove 750LE code

2015-03-19 Thread Greg Kroah-Hartman
On Thu, Mar 19, 2015 at 06:47:40PM +0530, Sudip Mukherjee wrote:
> 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.

And Huawei doesn't run Linux?  (hint, they do...)

Why remove this if someone can use it?  I don't understand.

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/2] staging: sm750fb: remove 750LE code

2015-03-19 Thread Dan Carpenter
On Thu, Mar 19, 2015 at 06:47:40PM +0530, Sudip Mukherjee wrote:
> 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.

Huawei isn't selling this?  I don't understand.

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/1] Drivers: hv: vmbus: Don't wait after requesting offers

2015-03-19 Thread K. Y. Srinivasan
Don't wait after sending request for offers to the host. This wait is
unnecessary and simply adds 5 seconds to the boot time.

Signed-off-by: K. Y. Srinivasan 
Cc: 
---
 drivers/hv/channel_mgmt.c |   11 ---
 1 files changed, 0 insertions(+), 11 deletions(-)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 25dbbaf..bb39705 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -884,7 +884,6 @@ int vmbus_request_offers(void)
struct vmbus_channel_message_header *msg;
struct vmbus_channel_msginfo *msginfo;
int ret;
-   unsigned long t;
 
msginfo = kmalloc(sizeof(*msginfo) +
  sizeof(struct vmbus_channel_message_header),
@@ -892,8 +891,6 @@ int vmbus_request_offers(void)
if (!msginfo)
return -ENOMEM;
 
-   init_completion(&msginfo->waitevent);
-
msg = (struct vmbus_channel_message_header *)msginfo->msg;
 
msg->msgtype = CHANNELMSG_REQUESTOFFERS;
@@ -907,14 +904,6 @@ int vmbus_request_offers(void)
goto cleanup;
}
 
-   t = wait_for_completion_timeout(&msginfo->waitevent, 5*HZ);
-   if (t == 0) {
-   ret = -ETIMEDOUT;
-   goto cleanup;
-   }
-
-
-
 cleanup:
kfree(msginfo);
 
-- 
1.7.4.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/2] staging: sm750fb: remove 750LE code

2015-03-19 Thread Sudip Mukherjee
On Thu, Mar 19, 2015 at 02:22:36PM +0100, Greg Kroah-Hartman wrote:
> On Thu, Mar 19, 2015 at 06:47:40PM +0530, Sudip Mukherjee wrote:
> > 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.
> 
> And Huawei doesn't run Linux?  (hint, they do...)
> 
> Why remove this if someone can use it?  I don't understand.

this is part of my conversation with Teddy Wang of Silicon Motion:
"I think you can remove it .  SM750LE is a special version. And it's
just a IP core. No one except huawei will use it."

and moreover I donot have that 750LE hardware to test any changes.
I just have the SM712 and SM750 hardware. so 

now, whatever you decide .. I will surely like to have the code in
place.

regards
sudip

> 
> thanks,
> 
> greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/2] staging: sm750fb: remove 750LE code

2015-03-19 Thread Greg Kroah-Hartman
On Thu, Mar 19, 2015 at 07:33:28PM +0530, Sudip Mukherjee wrote:
> On Thu, Mar 19, 2015 at 02:22:36PM +0100, Greg Kroah-Hartman wrote:
> > On Thu, Mar 19, 2015 at 06:47:40PM +0530, Sudip Mukherjee wrote:
> > > 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.
> > 
> > And Huawei doesn't run Linux?  (hint, they do...)
> > 
> > Why remove this if someone can use it?  I don't understand.
> 
> this is part of my conversation with Teddy Wang of Silicon Motion:
> "I think you can remove it .  SM750LE is a special version. And it's
> just a IP core. No one except huawei will use it."
> 
> and moreover I donot have that 750LE hardware to test any changes.
> I just have the SM712 and SM750 hardware. so 
> 
> now, whatever you decide .. I will surely like to have the code in
> place.

I suggest to leave it, it's not costing anything to keep around, and I
think you removed additional code with this patch anyway, which wasn't
good...

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/2] staging: sm750fb: remove 750LE code

2015-03-19 Thread Sudip Mukherjee
On Thu, Mar 19, 2015 at 03:15:39PM +0100, Greg Kroah-Hartman wrote:
> On Thu, Mar 19, 2015 at 07:33:28PM +0530, Sudip Mukherjee wrote:
> > On Thu, Mar 19, 2015 at 02:22:36PM +0100, Greg Kroah-Hartman wrote:
> > place.
> 
> I suggest to leave it, it's not costing anything to keep around, and I
> think you removed additional code with this patch anyway, which wasn't
> good...

fine, then please discard this series.
additional code means only a chip comparison for SM718 which this
driver donot have any support for.

ohh, and one request, I have some patches pending for staging/sm7xxfb
and staging/panel, if you please review, and if ok, apply them then i
can send the followon patches.

regards
sudip


> 
> thanks,
> 
> greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH V3 2/2 net-next] hyperv: Support batched notification

2015-03-19 Thread KY Srinivasan


> -Original Message-
> From: Jason Wang [mailto:jasow...@redhat.com]
> Sent: Tuesday, March 17, 2015 8:09 PM
> To: KY Srinivasan
> Cc: da...@davemloft.net; net...@vger.kernel.org; linux-
> ker...@vger.kernel.org; de...@linuxdriverproject.org; o...@aepfle.de;
> a...@canonical.com; KY Srinivasan
> Subject: Re: [PATCH V3 2/2 net-next] hyperv: Support batched notification
> 
> 
> 
> On Wed, Mar 18, 2015 at 12:02 AM, K. Y. Srinivasan 
> wrote:
> > Optimize notifying the host by deferring notification until there
> > are no more packets to be sent. This will help in batching the
> > requests
> > on the host.
> >
> > Signed-off-by: K. Y. Srinivasan 
> > ---
> >  drivers/net/hyperv/hyperv_net.h   |2 +-
> >  drivers/net/hyperv/netvsc.c   |   14 +-
> >  drivers/net/hyperv/netvsc_drv.c   |2 +-
> >  drivers/net/hyperv/rndis_filter.c |2 +-
> >  4 files changed, 12 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/net/hyperv/hyperv_net.h
> > b/drivers/net/hyperv/hyperv_net.h
> > index 4815843..3fd9896 100644
> > --- a/drivers/net/hyperv/hyperv_net.h
> > +++ b/drivers/net/hyperv/hyperv_net.h
> > @@ -184,7 +184,7 @@ struct rndis_device {
> >  int netvsc_device_add(struct hv_device *device, void
> > *additional_info);
> >  int netvsc_device_remove(struct hv_device *device);
> >  int netvsc_send(struct hv_device *device,
> > -   struct hv_netvsc_packet *packet);
> > +   struct hv_netvsc_packet *packet, bool kick_q);
> >  void netvsc_linkstatus_callback(struct hv_device *device_obj,
> > struct rndis_message *resp);
> >  int netvsc_recv_callback(struct hv_device *device_obj,
> > diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
> > index 208eb05..9003b94 100644
> > --- a/drivers/net/hyperv/netvsc.c
> > +++ b/drivers/net/hyperv/netvsc.c
> > @@ -707,7 +707,7 @@ static u32 netvsc_copy_to_send_buf(struct
> > netvsc_device *net_device,
> >  }
> >
> >  int netvsc_send(struct hv_device *device,
> > -   struct hv_netvsc_packet *packet)
> > +   struct hv_netvsc_packet *packet, bool kick_q)
> >  {
> > struct netvsc_device *net_device;
> > int ret = 0;
> > @@ -719,6 +719,7 @@ int netvsc_send(struct hv_device *device,
> > u32 msg_size = 0;
> > struct sk_buff *skb = NULL;
> > u16 q_idx = packet->q_idx;
> > +   u32 vmbus_flags =
> VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED;
> >
> >
> > net_device = get_outbound_net_device(device);
> > @@ -768,18 +769,21 @@ int netvsc_send(struct hv_device *device,
> > return -ENODEV;
> >
> > if (packet->page_buf_cnt) {
> > -   ret = vmbus_sendpacket_pagebuffer(out_channel,
> > +   ret = vmbus_sendpacket_pagebuffer_ctl(out_channel,
> >   packet->page_buf,
> >   packet->page_buf_cnt,
> >   &sendMessage,
> >   sizeof(struct
> nvsp_message),
> > - req_id);
> > + req_id,
> > + vmbus_flags,
> > + kick_q);
> > } else {
> > -   ret = vmbus_sendpacket(out_channel, &sendMessage,
> > +   ret = vmbus_sendpacket_ctl(out_channel, &sendMessage,
> > sizeof(struct nvsp_message),
> > req_id,
> > VM_PKT_DATA_INBAND,
> > -
>   VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
> > +   vmbus_flags,
> > +   kick_q);
> > }
> >
> > if (ret == 0) {
> > diff --git a/drivers/net/hyperv/netvsc_drv.c
> > b/drivers/net/hyperv/netvsc_drv.c
> > index a06bd66..eae58db 100644
> > --- a/drivers/net/hyperv/netvsc_drv.c
> > +++ b/drivers/net/hyperv/netvsc_drv.c
> > @@ -556,7 +556,7 @@ do_send:
> > packet->page_buf_cnt = init_page_array(rndis_msg,
> rndis_msg_size,
> > skb, &packet->page_buf[0]);
> >
> > -   ret = netvsc_send(net_device_ctx->device_ctx, packet);
> > +   ret = netvsc_send(net_device_ctx->device_ctx, packet,
> > !skb->xmit_more);
> >
> 
> Looks like the issue of V2 still there (E.g we need to kick when
> hv_ringbuffer_write() returns -EAGAIN?

Jason, this issue will be handled in the lower layer. I have already submitted 
a patch to the vmbus
Driver that correctly signals the host when EAGAIN is encountered.

Regards,

K. Y

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] sm750fb: Fix C99 Comments and if else braces

2015-03-19 Thread Amitoj Kaur Chawla
The edits have been made to remove C99 Comments and properly indent
the if-else statements in the file while taking care of the braces according to
Linux coding style.

Signed-off-by: Amitoj Kaur Chawla 
---
 drivers/staging/sm750fb/ddk750_chip.c | 25 +++--
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/sm750fb/ddk750_chip.c 
b/drivers/staging/sm750fb/ddk750_chip.c
index 33add64..33fa456 100644
--- a/drivers/staging/sm750fb/ddk750_chip.c
+++ b/drivers/staging/sm750fb/ddk750_chip.c
@@ -17,25 +17,22 @@ logical_chip_type_t getChipType(void)
char physicalRev;
logical_chip_type_t chip;
 
-   physicalID = devId750;//either 0x718 or 0x750
+   physicalID = devId750;/* either 0x718 or 0x750 */
physicalRev = revId750;
 
-if (physicalID == 0x718)
-{
-chip = SM718;
-}
-else if (physicalID == 0x750)
-{
-chip = SM750;
+   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){
+   if (physicalRev == SM750LE_REVISION_ID) {
chip = SM750LE;
}
-}
-else
-{
-chip = SM_UNKNOWN;
-}
+   }
+   else {
+   chip = SM_UNKNOWN;
+   }
 
return chip;
 }
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] sm750fb: Fix C99 Comments and if else braces

2015-03-19 Thread Giedrius Statkevičius
Hi Amitoj Kaur Chawla,

On 2015.03.19 19:39, Amitoj Kaur Chawla wrote:
> The edits have been made to remove C99 Comments and properly indent
> the if-else statements in the file while taking care of the braces according 
> to
> Linux coding style.
> 
> Signed-off-by: Amitoj Kaur Chawla 
> ---
>  drivers/staging/sm750fb/ddk750_chip.c | 25 +++--
>  1 file changed, 11 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/staging/sm750fb/ddk750_chip.c 
> b/drivers/staging/sm750fb/ddk750_chip.c
> index 33add64..33fa456 100644
> --- a/drivers/staging/sm750fb/ddk750_chip.c
> +++ b/drivers/staging/sm750fb/ddk750_chip.c
> @@ -17,25 +17,22 @@ logical_chip_type_t getChipType(void)
>   char physicalRev;
>   logical_chip_type_t chip;
>  
> - physicalID = devId750;//either 0x718 or 0x750
> + physicalID = devId750;/* either 0x718 or 0x750 */

Add a space here after ;?

>   physicalRev = revId750;
>  
> -if (physicalID == 0x718)
> -{
> -chip = SM718;
> -}
> -else if (physicalID == 0x750)
> -{
> -chip = SM750;
> + 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){
> + if (physicalRev == SM750LE_REVISION_ID) {
>   chip = SM750LE;
>   }
> -}
> -else
> -{
> -chip = SM_UNKNOWN;
> -}
> + }
> + else {
> + chip = SM_UNKNOWN;
> + }
>  
>   return chip;
>  }
> 


-- 
Thanks,
Giedrius
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] sm750fb: Fix Comment and if else braces

2015-03-19 Thread Amitoj Kaur Chawla
The edits have been made to add a space before the comment and the errors in
braces in the if-else statements.
Previously in commit 2d34f53f1065878cd881ac61a183f8e836583d51, removed
the C99 comments and errors in if-else indentation and braces.
 
Signed-off-by: Amitoj Kaur Chawla 
---
 drivers/staging/sm750fb/ddk750_chip.c | 11 ---
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/sm750fb/ddk750_chip.c 
b/drivers/staging/sm750fb/ddk750_chip.c
index 33fa456..bdf6a73 100644
--- a/drivers/staging/sm750fb/ddk750_chip.c
+++ b/drivers/staging/sm750fb/ddk750_chip.c
@@ -17,20 +17,17 @@ logical_chip_type_t getChipType(void)
char physicalRev;
logical_chip_type_t chip;
 
-   physicalID = devId750;/* either 0x718 or 0x750 */
+   physicalID = devId750; /* either 0x718 or 0x750 */
physicalRev = revId750;
 
if (physicalID == 0x718) {
chip = SM718;
-   }
-   else if (physicalID == 0x750) {
+   } else if (physicalID == 0x750) {
chip = SM750;
/* SM750 and SM750LE are different in their revision ID only. */
-   if (physicalRev == SM750LE_REVISION_ID) {
+   if (physicalRev == SM750LE_REVISION_ID)
chip = SM750LE;
-   }
-   }
-   else {
+   } else {
chip = SM_UNKNOWN;
}
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] sm750fb: Fix Comment and if else braces

2015-03-19 Thread Giedrius Statkevičius
Hi Amitoj Kaur Chawla,

On 2015.03.19 20:05, Amitoj Kaur Chawla wrote:
> The edits have been made to add a space before the comment and the errors in
> braces in the if-else statements.
> Previously in commit 2d34f53f1065878cd881ac61a183f8e836583d51, removed
> the C99 comments and errors in if-else indentation and braces.

The previous patch isn't in the git repo yet so it doesn't have a commit
id thus this one is wrong. You should've just made a v2 and made that
change. I recommend you to look over this:
http://kernelnewbies.org/FirstKernelPatch Just remove the HEAD commit in
your local git repo, add that space and then when using `git
format-patch` use the "--subject-prefix" option to add that it's a
second version. Then after "---" you can say what was changed in the
second version. For example (I'm sure you can think of a better one!):

Signed-off-by: ...
---
v2: added a space after a statement in a line where a coding style error
was fixed.

drivers/...

>  
> Signed-off-by: Amitoj Kaur Chawla 
> ---
>  drivers/staging/sm750fb/ddk750_chip.c | 11 ---
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/staging/sm750fb/ddk750_chip.c 
> b/drivers/staging/sm750fb/ddk750_chip.c
> index 33fa456..bdf6a73 100644
> --- a/drivers/staging/sm750fb/ddk750_chip.c
> +++ b/drivers/staging/sm750fb/ddk750_chip.c
> @@ -17,20 +17,17 @@ logical_chip_type_t getChipType(void)
>   char physicalRev;
>   logical_chip_type_t chip;
>  
> - physicalID = devId750;/* either 0x718 or 0x750 */
> + physicalID = devId750; /* either 0x718 or 0x750 */
>   physicalRev = revId750;
>  
>   if (physicalID == 0x718) {
>   chip = SM718;
> - }
> - else if (physicalID == 0x750) {
> + } else if (physicalID == 0x750) {
>   chip = SM750;
>   /* SM750 and SM750LE are different in their revision ID only. */
> - if (physicalRev == SM750LE_REVISION_ID) {
> + if (physicalRev == SM750LE_REVISION_ID)
>   chip = SM750LE;
> - }
> - }
> - else {
> + } else {
>   chip = SM_UNKNOWN;
>   }
>  
> 


-- 
Thanks,
Giedrius
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] Staging: wlan-ng: hfa384x: wrap long line

2015-03-19 Thread Sven Dziadek
This fixes the coding style issue "line over 80 characters"
found by checkpatch.pl

Signed-off-by: Sven Dziadek 
---
 drivers/staging/wlan-ng/hfa384x.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 8f20910..73c646b 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -1413,7 +1413,8 @@ int hfa384x_drvr_start(hfa384x_t *hw);
 int hfa384x_drvr_stop(hfa384x_t *hw);
 int
 hfa384x_drvr_txframe(hfa384x_t *hw, struct sk_buff *skb,
-union p80211_hdr *p80211_hdr, struct p80211_metawep 
*p80211_wep);
+union p80211_hdr *p80211_hdr,
+struct p80211_metawep *p80211_wep);
 void hfa384x_tx_timeout(wlandevice_t *wlandev);
 
 int hfa384x_cmd_initialize(hfa384x_t *hw);
-- 
2.1.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] sm750fb: Fix C99 Comments and if else braces

2015-03-19 Thread Joe Perches
On Thu, 2015-03-19 at 23:09 +0530, Amitoj Kaur Chawla wrote:
> The edits have been made to remove C99 Comments and properly indent
> the if-else statements in the file while taking care of the braces according 
> to
> Linux coding style.

Please scan your proposed patches with checkpatch
and fix possible style defects before sending them.




___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH V3 2/2 net-next] hyperv: Support batched notification

2015-03-19 Thread Jason Wang



On Fri, Mar 20, 2015 at 12:53 AM, KY Srinivasan  
wrote:




 -Original Message-
 From: Jason Wang [mailto:jasow...@redhat.com]
 Sent: Tuesday, March 17, 2015 8:09 PM
 To: KY Srinivasan
 Cc: da...@davemloft.net; net...@vger.kernel.org; linux-
 ker...@vger.kernel.org; de...@linuxdriverproject.org; 
o...@aepfle.de;

 a...@canonical.com; KY Srinivasan
 Subject: Re: [PATCH V3 2/2 net-next] hyperv: Support batched 
notification
 
 
 
 On Wed, Mar 18, 2015 at 12:02 AM, K. Y. Srinivasan 


 wrote:
 > Optimize notifying the host by deferring notification until there
 > are no more packets to be sent. This will help in batching the
 > requests
 > on the host.
 >
 > Signed-off-by: K. Y. Srinivasan 
 > ---
 >  drivers/net/hyperv/hyperv_net.h   |2 +-
 >  drivers/net/hyperv/netvsc.c   |   14 +-
 >  drivers/net/hyperv/netvsc_drv.c   |2 +-
 >  drivers/net/hyperv/rndis_filter.c |2 +-
 >  4 files changed, 12 insertions(+), 8 deletions(-)
 >
 > diff --git a/drivers/net/hyperv/hyperv_net.h
 > b/drivers/net/hyperv/hyperv_net.h
 > index 4815843..3fd9896 100644
 > --- a/drivers/net/hyperv/hyperv_net.h
 > +++ b/drivers/net/hyperv/hyperv_net.h
 > @@ -184,7 +184,7 @@ struct rndis_device {
 >  int netvsc_device_add(struct hv_device *device, void
 > *additional_info);
 >  int netvsc_device_remove(struct hv_device *device);
 >  int netvsc_send(struct hv_device *device,
 > - struct hv_netvsc_packet *packet);
 > + struct hv_netvsc_packet *packet, bool kick_q);
 >  void netvsc_linkstatus_callback(struct hv_device *device_obj,
 >   struct rndis_message *resp);
 >  int netvsc_recv_callback(struct hv_device *device_obj,
 > diff --git a/drivers/net/hyperv/netvsc.c 
b/drivers/net/hyperv/netvsc.c

 > index 208eb05..9003b94 100644
 > --- a/drivers/net/hyperv/netvsc.c
 > +++ b/drivers/net/hyperv/netvsc.c
 > @@ -707,7 +707,7 @@ static u32 netvsc_copy_to_send_buf(struct
 > netvsc_device *net_device,
 >  }
 >
 >  int netvsc_send(struct hv_device *device,
 > - struct hv_netvsc_packet *packet)
 > + struct hv_netvsc_packet *packet, bool kick_q)
 >  {
 >   struct netvsc_device *net_device;
 >   int ret = 0;
 > @@ -719,6 +719,7 @@ int netvsc_send(struct hv_device *device,
 >   u32 msg_size = 0;
 >   struct sk_buff *skb = NULL;
 >   u16 q_idx = packet->q_idx;
 > + u32 vmbus_flags =
 VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED;
 >
 >
 >   net_device = get_outbound_net_device(device);
 > @@ -768,18 +769,21 @@ int netvsc_send(struct hv_device *device,
 >   return -ENODEV;
 >
 >   if (packet->page_buf_cnt) {
 > - ret = vmbus_sendpacket_pagebuffer(out_channel,
 > + ret = vmbus_sendpacket_pagebuffer_ctl(out_channel,
 > packet->page_buf,
 > packet->page_buf_cnt,
 > &sendMessage,
 > sizeof(struct
 nvsp_message),
 > -   req_id);
 > +   req_id,
 > +   vmbus_flags,
 > +   kick_q);
 >   } else {
 > - ret = vmbus_sendpacket(out_channel, &sendMessage,
 > + ret = vmbus_sendpacket_ctl(out_channel, &sendMessage,
 >   sizeof(struct nvsp_message),
 >   req_id,
 >   VM_PKT_DATA_INBAND,
 > -
VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
 > + vmbus_flags,
 > + kick_q);
 >   }
 >
 >   if (ret == 0) {
 > diff --git a/drivers/net/hyperv/netvsc_drv.c
 > b/drivers/net/hyperv/netvsc_drv.c
 > index a06bd66..eae58db 100644
 > --- a/drivers/net/hyperv/netvsc_drv.c
 > +++ b/drivers/net/hyperv/netvsc_drv.c
 > @@ -556,7 +556,7 @@ do_send:
 >   packet->page_buf_cnt = init_page_array(rndis_msg,
 rndis_msg_size,
 >   skb, &packet->page_buf[0]);
 >
 > - ret = netvsc_send(net_device_ctx->device_ctx, packet);
 > + ret = netvsc_send(net_device_ctx->device_ctx, packet,
 > !skb->xmit_more);
 >
 
 Looks like the issue of V2 still there (E.g we need to kick when

 hv_ringbuffer_write() returns -EAGAIN?


Jason, this issue will be handled in the lower layer. I have already 
submitted a patch to the vmbus

Driver that correctly signals the host when EAGAIN is encountered.

Regards,

K. Y


Okay, find the mail but looks like I was not cced.

Please keep me in the cc list for hyperv patches.

Thanks

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel