[PATCH 250/641] Staging: hv: osd: remove physical address wrapper functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use the real functions the kernel provides, so that people can see what
is actually going on in the code easier.

Cc: Bill Pemberton <wfp5p@xxxxxxxxxxxx>
Cc: Hank Janssen <hjanssen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
 drivers/staging/hv/Channel.c     |    2 +-
 drivers/staging/hv/Connection.c  |    6 +++---
 drivers/staging/hv/Hv.c          |   21 +++++++++++----------
 drivers/staging/hv/NetVsc.c      |    7 ++++---
 drivers/staging/hv/RndisFilter.c |    5 +++--
 drivers/staging/hv/include/osd.h |    8 --------
 drivers/staging/hv/osd.c         |   23 +----------------------
 7 files changed, 23 insertions(+), 49 deletions(-)

diff --git a/drivers/staging/hv/Channel.c b/drivers/staging/hv/Channel.c
index 61fc345..5b87643 100644
--- a/drivers/staging/hv/Channel.c
+++ b/drivers/staging/hv/Channel.c
@@ -416,7 +416,7 @@ VmbusChannelCreateGpadlHeader(
 	ASSERT( (Size & (PAGE_SIZE-1)) == 0);
 
 	pageCount = Size >> PAGE_SHIFT;
-	pfn = GetPhysicalAddress(Kbuffer) >> PAGE_SHIFT;
+	pfn = virt_to_phys(Kbuffer) >> PAGE_SHIFT;
 
 	/* do we need a gpadl body msg */
 	pfnSize = MAX_SIZE_CHANNEL_MESSAGE - sizeof(VMBUS_CHANNEL_GPADL_HEADER) - sizeof(GPA_RANGE);
diff --git a/drivers/staging/hv/Connection.c b/drivers/staging/hv/Connection.c
index d7091ad..960c417 100644
--- a/drivers/staging/hv/Connection.c
+++ b/drivers/staging/hv/Connection.c
@@ -110,9 +110,9 @@ VmbusConnect(void)
 
 	msg->Header.MessageType = ChannelMessageInitiateContact;
 	msg->VMBusVersionRequested = VMBUS_REVISION_NUMBER;
-	msg->InterruptPage = GetPhysicalAddress(gVmbusConnection.InterruptPage);
-	msg->MonitorPage1 = GetPhysicalAddress(gVmbusConnection.MonitorPages);
-	msg->MonitorPage2 = GetPhysicalAddress((void *)((unsigned long)gVmbusConnection.MonitorPages + PAGE_SIZE));
+	msg->InterruptPage = virt_to_phys(gVmbusConnection.InterruptPage);
+	msg->MonitorPage1 = virt_to_phys(gVmbusConnection.MonitorPages);
+	msg->MonitorPage2 = virt_to_phys((void *)((unsigned long)gVmbusConnection.MonitorPages + PAGE_SIZE));
 
 	/*
 	 * Add to list before we send the request since we may
diff --git a/drivers/staging/hv/Hv.c b/drivers/staging/hv/Hv.c
index 4b9b3fb..87dc628 100644
--- a/drivers/staging/hv/Hv.c
+++ b/drivers/staging/hv/Hv.c
@@ -22,6 +22,7 @@
  */
 
 #include <linux/vmalloc.h>
+#include <asm/io.h>
 #include "include/logging.h"
 #include "VmbusPrivate.h"
 
@@ -166,8 +167,8 @@ HvDoHypercall (
 {
 #ifdef CONFIG_X86_64
     u64 hvStatus=0;
-    u64 inputAddress = (Input)? GetPhysicalAddress(Input) : 0;
-	u64 outputAddress = (Output)? GetPhysicalAddress(Output) : 0;
+	u64 inputAddress = (Input)? virt_to_phys(Input) : 0;
+	u64 outputAddress = (Output)? virt_to_phys(Output) : 0;
     volatile void* hypercallPage = gHvContext.HypercallPage;
 
     DPRINT_DBG(VMBUS, "Hypercall <control %llx input phys %llx virt %p output phys %llx virt %p hypercall %p>",
@@ -191,10 +192,10 @@ HvDoHypercall (
     u32 controlLo = Control & 0xFFFFFFFF;
     u32 hvStatusHi = 1;
     u32 hvStatusLo = 1;
-    u64 inputAddress = (Input) ? GetPhysicalAddress(Input) : 0;
+    u64 inputAddress = (Input) ? virt_to_phys(Input) : 0;
     u32 inputAddressHi = inputAddress >> 32;
     u32 inputAddressLo = inputAddress & 0xFFFFFFFF;
-	u64 outputAddress = (Output) ?GetPhysicalAddress(Output) : 0;
+	u64 outputAddress = (Output) ? virt_to_phys(Output) : 0;
     u32 outputAddressHi = outputAddress >> 32;
     u32 outputAddressLo = outputAddress & 0xFFFFFFFF;
     volatile void* hypercallPage = gHvContext.HypercallPage;
@@ -276,8 +277,8 @@ HvInit (
 		}
 
 		hypercallMsr.Enable = 1;
-		/* hypercallMsr.GuestPhysicalAddress = Logical2PhysicalAddr(virtAddr) >> PAGE_SHIFT; */
-		hypercallMsr.GuestPhysicalAddress = Virtual2Physical(virtAddr) >> PAGE_SHIFT;
+		/* hypercallMsr.GuestPhysicalAddress = virt_to_phys(virtAddr) >> PAGE_SHIFT; */
+		hypercallMsr.GuestPhysicalAddress = vmalloc_to_pfn(virtAddr);
 		WriteMsr(HV_X64_MSR_HYPERCALL, hypercallMsr.AsUINT64);
 
 	/* Confirm that hypercall page did get setup. */
@@ -507,8 +508,8 @@ HvSynicInit (
 
 		if (guestID == HV_LINUX_GUEST_ID)
 		{
-			gHvContext.synICMessagePage[0] = GetVirtualAddress(simp.BaseSimpGpa << PAGE_SHIFT);
-			gHvContext.synICEventPage[0] = GetVirtualAddress(siefp.BaseSiefpGpa << PAGE_SHIFT);
+			gHvContext.synICMessagePage[0] = phys_to_virt(simp.BaseSimpGpa << PAGE_SHIFT);
+			gHvContext.synICEventPage[0] = phys_to_virt(siefp.BaseSiefpGpa << PAGE_SHIFT);
 		}
 		else
 		{
@@ -536,7 +537,7 @@ HvSynicInit (
 		/* Setup the Synic's message page */
 		simp.AsUINT64 = ReadMsr(HV_X64_MSR_SIMP);
 		simp.SimpEnabled = 1;
-		simp.BaseSimpGpa = GetPhysicalAddress(gHvContext.synICMessagePage[0]) >> PAGE_SHIFT;
+		simp.BaseSimpGpa = virt_to_phys(gHvContext.synICMessagePage[0]) >> PAGE_SHIFT;
 
 		DPRINT_DBG(VMBUS, "HV_X64_MSR_SIMP msr set to: %llx", simp.AsUINT64);
 
@@ -545,7 +546,7 @@ HvSynicInit (
 		/* Setup the Synic's event page */
 		siefp.AsUINT64 = ReadMsr(HV_X64_MSR_SIEFP);
 		siefp.SiefpEnabled = 1;
-		siefp.BaseSiefpGpa = GetPhysicalAddress(gHvContext.synICEventPage[0]) >> PAGE_SHIFT;
+		siefp.BaseSiefpGpa = virt_to_phys(gHvContext.synICEventPage[0]) >> PAGE_SHIFT;
 
 		DPRINT_DBG(VMBUS, "HV_X64_MSR_SIEFP msr set to: %llx", siefp.AsUINT64);
 
diff --git a/drivers/staging/hv/NetVsc.c b/drivers/staging/hv/NetVsc.c
index 8e71ce6..ab71c0a 100644
--- a/drivers/staging/hv/NetVsc.c
+++ b/drivers/staging/hv/NetVsc.c
@@ -23,6 +23,7 @@
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/delay.h>
+#include <asm/io.h>
 #include "include/logging.h"
 #include "NetVsc.h"
 #include "RndisFilter.h"
@@ -1241,13 +1242,13 @@ NetVscOnReceive(
 
 		netvscPacket->PageBuffers[0].Length = vmxferpagePacket->Ranges[i].ByteCount;
 
-		start = GetPhysicalAddress((void*)((unsigned long)netDevice->ReceiveBuffer + vmxferpagePacket->Ranges[i].ByteOffset));
+		start = virt_to_phys((void*)((unsigned long)netDevice->ReceiveBuffer + vmxferpagePacket->Ranges[i].ByteOffset));
 
 		netvscPacket->PageBuffers[0].Pfn = start >> PAGE_SHIFT;
 		endVirtual = (unsigned long)netDevice->ReceiveBuffer
 		    + vmxferpagePacket->Ranges[i].ByteOffset
 		    + vmxferpagePacket->Ranges[i].ByteCount -1;
-		end = GetPhysicalAddress((void*)endVirtual);
+		end = virt_to_phys((void*)endVirtual);
 
 		/* Calculate the page relative offset */
 		netvscPacket->PageBuffers[0].Offset = vmxferpagePacket->Ranges[i].ByteOffset & (PAGE_SIZE -1);
@@ -1266,7 +1267,7 @@ NetVscOnReceive(
 			    bytesRemain -= PAGE_SIZE;
 			}
 			netvscPacket->PageBuffers[j].Pfn =
-			    GetPhysicalAddress((void*)(endVirtual - bytesRemain)) >> PAGE_SHIFT;
+			    virt_to_phys((void*)(endVirtual - bytesRemain)) >> PAGE_SHIFT;
 			netvscPacket->PageBufferCount++;
 			if (bytesRemain == 0)
 			    break;
diff --git a/drivers/staging/hv/RndisFilter.c b/drivers/staging/hv/RndisFilter.c
index 362efb0..70dd175 100644
--- a/drivers/staging/hv/RndisFilter.c
+++ b/drivers/staging/hv/RndisFilter.c
@@ -24,6 +24,7 @@
 #include <linux/kernel.h>
 #include <linux/highmem.h>
 #include <asm/kmap_types.h>
+#include <asm/io.h>
 
 #include "include/logging.h"
 
@@ -358,7 +359,7 @@ RndisFilterSendRequest(
 	packet->TotalDataBufferLength = Request->RequestMessage.MessageLength;
 	packet->PageBufferCount = 1;
 
-	packet->PageBuffers[0].Pfn = GetPhysicalAddress(&Request->RequestMessage) >> PAGE_SHIFT;
+	packet->PageBuffers[0].Pfn = virt_to_phys(&Request->RequestMessage) >> PAGE_SHIFT;
 	packet->PageBuffers[0].Length = Request->RequestMessage.MessageLength;
 	packet->PageBuffers[0].Offset = (unsigned long)&Request->RequestMessage & (PAGE_SIZE -1);
 
@@ -1110,7 +1111,7 @@ RndisFilterOnSend(
 	rndisPacket->DataLength = Packet->TotalDataBufferLength;
 
 	Packet->IsDataPacket = true;
-	Packet->PageBuffers[0].Pfn		= GetPhysicalAddress(rndisMessage) >> PAGE_SHIFT;
+	Packet->PageBuffers[0].Pfn	= virt_to_phys(rndisMessage) >> PAGE_SHIFT;
 	Packet->PageBuffers[0].Offset	= (unsigned long)rndisMessage & (PAGE_SIZE-1);
 	Packet->PageBuffers[0].Length	= rndisMessageSize;
 
diff --git a/drivers/staging/hv/include/osd.h b/drivers/staging/hv/include/osd.h
index a3e2e29..58c47a7 100644
--- a/drivers/staging/hv/include/osd.h
+++ b/drivers/staging/hv/include/osd.h
@@ -89,14 +89,6 @@ extern int	WaitEventWait(struct osd_waitevent *waitEvent);
 extern int	WaitEventWaitEx(struct osd_waitevent *waitEvent, u32 TimeoutInMs);
 
 
-#define GetVirtualAddress Physical2LogicalAddr
-void* Physical2LogicalAddr(unsigned long PhysAddr);
-
-#define GetPhysicalAddress Logical2PhysicalAddr
-unsigned long Logical2PhysicalAddr(void * LogicalAddr);
-
-unsigned long Virtual2Physical(void * VirtAddr);
-
 int osd_schedule_callback(struct workqueue_struct *wq,
 			  void (*func)(void *),
 			  void *data);
diff --git a/drivers/staging/hv/osd.c b/drivers/staging/hv/osd.c
index ad883c9..007a553 100644
--- a/drivers/staging/hv/osd.c
+++ b/drivers/staging/hv/osd.c
@@ -90,7 +90,7 @@ void PageFree(void* page, unsigned int count)
 
 void *MemMapIO(unsigned long phys, unsigned long size)
 {
-	return (void*)GetVirtualAddress(phys); /* return ioremap_nocache(phys, size); */
+	return (void*)phys_to_virt(phys); /* return ioremap_nocache(phys, size); */
 }
 
 void MemUnmapIO(void *virt)
@@ -180,27 +180,6 @@ int WaitEventWaitEx(struct osd_waitevent *waitEvent, u32 TimeoutInMs)
 	return ret;
 }
 
-void* Physical2LogicalAddr(unsigned long PhysAddr)
-{
-	void* logicalAddr = phys_to_virt(PhysAddr);
-	BUG_ON(!virt_addr_valid(logicalAddr));
-	return logicalAddr;
-}
-
-unsigned long Logical2PhysicalAddr(void * LogicalAddr)
-{
-	BUG_ON(!virt_addr_valid(LogicalAddr));
-	return virt_to_phys(LogicalAddr);
-}
-
-
-unsigned long Virtual2Physical(void * VirtAddr)
-{
-	unsigned long pfn = vmalloc_to_pfn(VirtAddr);
-
-	return pfn << PAGE_SHIFT;
-}
-
 static void osd_callback_work(struct work_struct *work)
 {
 	struct osd_callback_struct *cb = container_of(work,
-- 
1.6.4.2

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux