Spectre660's Linux downloads for the Sam440/460

Linux only discussion for the AmigaOne 500 and Sam series
Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

User avatar
xeno74
Posts: 10709
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Spectre660's Linux downloads for the Sam440/460

Post by xeno74 »

Spectre660 wrote:Sam440ep-3.14.0-rc6 kernel .
https://dl.dropboxusercontent.com/u/542 ... rc6.tar.gz
Thank you. :) It works well with my Sam440ep-Flex.

Download: Sam440ep-3.14.0-rc6.tar.gz
Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

Untested Sam460ex 3.14.0-rc6 kernel for testing .

https://dl.dropboxusercontent.com/u/542 ... rc6.tar.gz
Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

Note that kernels for both Sam440ep and Sam460ex have had bluetooth enabled for some time now.
User avatar
xeno74
Posts: 10709
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Spectre660's Linux downloads for the Sam440/460

Post by xeno74 »

Spectre660 wrote:Untested Sam460ex 3.14.0-rc6 kernel for testing .

https://dl.dropboxusercontent.com/u/542 ... rc6.tar.gz
Thanksssssssss. :) I've uploaded it. Download: Sam460ex-3.14.0-rc6.tar.gz

Did ACube already send you the Sam460ex?
Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

Thank you.
No Acube has not sent it yet.
Fortunately I have the Sam440ep-Flex and I am cross compiling the kernels on a virtual machine in Oracle VM VirtualBox.

xeno74 wrote:
Spectre660 wrote:Untested Sam460ex 3.14.0-rc6 kernel for testing .

https://dl.dropboxusercontent.com/u/542 ... rc6.tar.gz
Thanksssssssss. :) I've uploaded it. Download: Sam460ex-3.14.0-rc6.tar.gz

Did ACube already send you the Sam460ex?
User avatar
virgola
Posts: 43
Joined: Tue Jun 21, 2011 6:24 pm
Location: Bergamo, Italy

Re: Spectre660's Linux downloads for the Sam440/460

Post by virgola »

@Spectre660

Thanks for your time!!

Next time, while preparing the kernel tar.gz package could you please add a text file with the patches applied to the kernel?
That would make other people (like myself) experimenting with custom configured kernels much easier

So far I think you only apply the following one, I am right?

Code: Select all

    diff -rupN linux-3.14/drivers/gpu/drm/radeon/radeon_pm.c linux-3.14-nemo/drivers/gpu/drm/radeon/radeon_pm.c
    --- linux-3.14/drivers/gpu/drm/radeon/radeon_pm.c   2014-02-03 01:42:13.000000000 +0100
    +++ linux-3.14-nemo/drivers/gpu/drm/radeon/radeon_pm.c   2014-02-03 14:37:31.468243027 +0100
    @@ -223,7 +223,10 @@ static void radeon_set_power_state(struc
           /* set memory clock */
           if (rdev->asic->pm.set_memory_clock && (mclk != rdev->pm.current_mclk)) {
              radeon_pm_debug_check_in_vbl(rdev, false);
    +               /* D.Stevens 2012 for the A-EON AmigaOne X1000: Setting memory clock only works on CAICOS and 6570, don't set for anything else (We ignore 6570 here */
    +               if (rdev->family == CHIP_CAICOS) {
              radeon_set_memory_clock(rdev, mclk);
    +               }
              radeon_pm_debug_check_in_vbl(rdev, true);
              rdev->pm.current_mclk = mclk;
              DRM_DEBUG_DRIVER("Setting: m: %d\n", mclk);
    @@ -1005,7 +1008,7 @@ static void radeon_pm_resume_old(struct
                       SET_VOLTAGE_TYPE_ASIC_VDDCI);
           if (rdev->pm.default_sclk)
              radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -      if (rdev->pm.default_mclk)
    +      if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))     /* Fix for PPC systems HD6000 >6570 by A-EON Core Linux Support Team */   
              radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
        }
        /* asic init will reset the default power state */
    @@ -1057,7 +1060,7 @@ dpm_resume_fail:
                       SET_VOLTAGE_TYPE_ASIC_VDDCI);
           if (rdev->pm.default_sclk)
              radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -      if (rdev->pm.default_mclk)
    +      if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))     /* Fix for PPC & > HD6570 by A-EON Linux Core Support Team */   
              radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
        }
     }
    @@ -1104,7 +1107,7 @@ static int radeon_pm_init_old(struct rad
                          SET_VOLTAGE_TYPE_ASIC_VDDCI);
              if (rdev->pm.default_sclk)
                 radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -         if (rdev->pm.default_mclk)
    +         if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))     // D.Stevens 2013: fix for >HD6570 on PPC   
                 radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
           }
        }
    @@ -1217,7 +1220,7 @@ dpm_failed:
                       SET_VOLTAGE_TYPE_ASIC_VDDCI);
           if (rdev->pm.default_sclk)
              radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -      if (rdev->pm.default_mclk)
    +      if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))  // D.Stevens 2013: Fix for >HD6570 on ppc   
              radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
        }
        DRM_ERROR("radeon: dpm initialization failed\n");

Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

@virgola

Thank you.
Only the following patch applied for the Sam460ex kernel.
Will include with any future archives as you suggested.
The patch that you quoted to is for the X1000.
I have tested HD6570 and HD6670 cards on the Sams with no problems so never applied that patch.

Code: Select all

diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index 49b0659..fa33568 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1066,7 +1066,7 @@ int radeon_device_init(struct radeon_device *rdev,
 	if (rdev->rmmio == NULL) {
 		return -ENOMEM;
 	}
-	DRM_INFO("register mmio base: 0x%08X\n", (uint32_t)rdev->rmmio_base);
+	DRM_INFO("register mmio base: 0x%llx\n", (uint64_t)rdev->rmmio_base);
 	DRM_INFO("register mmio size: %u\n", (unsigned)rdev->rmmio_size);
 
 	/* io port mapping */
diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
index 3cb5d84..fcdb208 100644
--- a/include/drm/ttm/ttm_bo_api.h
+++ b/include/drm/ttm/ttm_bo_api.h
@@ -81,7 +81,7 @@ struct ttm_placement {
  */
 struct ttm_bus_placement {
 	void		*addr;
-	unsigned long	base;
+	phys_addr_t	base;
 	unsigned long	size;
 	unsigned long	offset;
 	bool		is_iomem;
virgola wrote:@Spectre660

Thanks for your time!!

Next time, while preparing the kernel tar.gz package could you please add a text file with the patches applied to the kernel?
That would make other people (like myself) experimenting with custom configured kernels much easier

So far I think you only apply the following one, I am right?

Code: Select all

    diff -rupN linux-3.14/drivers/gpu/drm/radeon/radeon_pm.c linux-3.14-nemo/drivers/gpu/drm/radeon/radeon_pm.c
    --- linux-3.14/drivers/gpu/drm/radeon/radeon_pm.c   2014-02-03 01:42:13.000000000 +0100
    +++ linux-3.14-nemo/drivers/gpu/drm/radeon/radeon_pm.c   2014-02-03 14:37:31.468243027 +0100
    @@ -223,7 +223,10 @@ static void radeon_set_power_state(struc
           /* set memory clock */
           if (rdev->asic->pm.set_memory_clock && (mclk != rdev->pm.current_mclk)) {
              radeon_pm_debug_check_in_vbl(rdev, false);
    +               /* D.Stevens 2012 for the A-EON AmigaOne X1000: Setting memory clock only works on CAICOS and 6570, don't set for anything else (We ignore 6570 here */
    +               if (rdev->family == CHIP_CAICOS) {
              radeon_set_memory_clock(rdev, mclk);
    +               }
              radeon_pm_debug_check_in_vbl(rdev, true);
              rdev->pm.current_mclk = mclk;
              DRM_DEBUG_DRIVER("Setting: m: %d\n", mclk);
    @@ -1005,7 +1008,7 @@ static void radeon_pm_resume_old(struct
                       SET_VOLTAGE_TYPE_ASIC_VDDCI);
           if (rdev->pm.default_sclk)
              radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -      if (rdev->pm.default_mclk)
    +      if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))     /* Fix for PPC systems HD6000 >6570 by A-EON Core Linux Support Team */   
              radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
        }
        /* asic init will reset the default power state */
    @@ -1057,7 +1060,7 @@ dpm_resume_fail:
                       SET_VOLTAGE_TYPE_ASIC_VDDCI);
           if (rdev->pm.default_sclk)
              radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -      if (rdev->pm.default_mclk)
    +      if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))     /* Fix for PPC & > HD6570 by A-EON Linux Core Support Team */   
              radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
        }
     }
    @@ -1104,7 +1107,7 @@ static int radeon_pm_init_old(struct rad
                          SET_VOLTAGE_TYPE_ASIC_VDDCI);
              if (rdev->pm.default_sclk)
                 radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -         if (rdev->pm.default_mclk)
    +         if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))     // D.Stevens 2013: fix for >HD6570 on PPC   
                 radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
           }
        }
    @@ -1217,7 +1220,7 @@ dpm_failed:
                       SET_VOLTAGE_TYPE_ASIC_VDDCI);
           if (rdev->pm.default_sclk)
              radeon_set_engine_clock(rdev, rdev->pm.default_sclk);
    -      if (rdev->pm.default_mclk)
    +      if (rdev->pm.default_mclk && (rdev->family == CHIP_CAICOS))  // D.Stevens 2013: Fix for >HD6570 on ppc   
              radeon_set_memory_clock(rdev, rdev->pm.default_mclk);
        }
        DRM_ERROR("radeon: dpm initialization failed\n");

Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

Sam440ep 3.14.0.rc7 kernel.

Adds multimedia support including Webcams and USB audio and USB multimedia dongles and devices.
Tried webcam using Cheese. video works but is very slow on my Sam440ep-flex.
USB audio tested using a usb VOIP phone.

Also firewire support added but not tested.

https://dl.dropboxusercontent.com/u/542 ... rc7.tar.gz
Spectre660
Posts: 1538
Joined: Sat Jun 18, 2011 3:16 pm
Location: Montserrat

Re: Spectre660's Linux downloads for the Sam440/460

Post by Spectre660 »

Untested Sam460ex 3.14.0.rc7 kernel.

Adds multimedia support including Webcams and USB audio and USB multimedia dongles and devices.
Also firewire support .

https://dl.dropboxusercontent.com/u/542 ... rc7.tar.gz
Post Reply