New version

- Removed usrp1-r45-dbsrx-i2c-fix patch (upstreamed)
- Fixed convert_test failure on ARM by no-neon patch
  Resolves: rhbz#813393
This commit is contained in:
Jaroslav Škarvada 2012-05-24 15:53:37 +02:00
parent 8593b77069
commit ea6520057d
4 changed files with 40 additions and 47 deletions

View File

@ -1 +1 @@
304728ac2f3dacfeab3dac611357aeec uhd-3.4.0.tar.gz
f80d4e5434ad5f43128501de00906612 uhd-3.4.2.tar.gz

View File

@ -1,41 +0,0 @@
commit 097f20df1653c33035b6dcfefbbef22572426c65
Author: Josh Blum <josh@joshknows.com>
Date: Mon Mar 26 14:25:56 2012 -0700
dbsrx: limit the USRP1 + DBSRX GPIO clock rate to 4MHz
This fixes the lockup/clocking condition when the following hw combo is used:
USRP1 r4.5 + DBSRX + another i2c board
diff --git a/host/lib/usrp/dboard/db_dbsrx.cpp b/host/lib/usrp/dboard/db_dbsrx.cpp
index 846597f..95c5c5d 100644
--- a/host/lib/usrp/dboard/db_dbsrx.cpp
+++ b/host/lib/usrp/dboard/db_dbsrx.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2012 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -58,6 +58,8 @@ static const uhd::dict<std::string, gain_range_t> dbsrx_gain_ranges = map_list_o
("GC2", gain_range_t(0, 24, 1))
;
+static const double usrp1_gpio_clock_rate_limit = 4e6;
+
/***********************************************************************
* The DBSRX dboard class
**********************************************************************/
@@ -265,6 +267,11 @@ double dbsrx::set_lo_freq(double target_freq){
std::vector<double> clock_rates = this->get_iface()->get_clock_rates(dboard_iface::UNIT_RX);
const double max_clock_rate = uhd::sorted(clock_rates).back();
BOOST_FOREACH(ref_clock, uhd::reversed(uhd::sorted(clock_rates))){
+ //USRP1 feeds the DBSRX clock from a FPGA GPIO line.
+ //make sure that this clock does not exceed rate limit.
+ if (this->get_iface()->get_special_props().soft_clock_divider){
+ if (ref_clock > usrp1_gpio_clock_rate_limit) continue;
+ }
if (ref_clock > 27.0e6) continue;
if (size_t(max_clock_rate/ref_clock)%2 == 1) continue; //reject asymmetric clocks (odd divisors)

28
uhd-3.4.2-no-neon.patch Normal file
View File

@ -0,0 +1,28 @@
diff -up uhd-3.4.2/host/lib/convert/CMakeLists.txt.orig uhd-3.4.2/host/lib/convert/CMakeLists.txt
--- uhd-3.4.2/host/lib/convert/CMakeLists.txt.orig 2012-05-23 00:16:15.000000000 +0200
+++ uhd-3.4.2/host/lib/convert/CMakeLists.txt 2012-05-24 12:27:08.225172012 +0200
@@ -93,15 +93,15 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
UNSET(CMAKE_REQUIRED_FLAGS)
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-IF(HAVE_ARM_NEON_H)
- SET_SOURCE_FILES_PROPERTIES(
- ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp
- PROPERTIES COMPILE_FLAGS "${NEON_FLAGS}"
- )
- LIBUHD_APPEND_SOURCES(
- ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp
- )
-ENDIF()
+#IF(HAVE_ARM_NEON_H)
+# SET_SOURCE_FILES_PROPERTIES(
+# ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp
+# PROPERTIES COMPILE_FLAGS "${NEON_FLAGS}"
+# )
+# LIBUHD_APPEND_SOURCES(
+# ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp
+# )
+#ENDIF()
########################################################################
# Convert types generation

View File

@ -1,5 +1,5 @@
# Pull from git
%global git_tag release_003_004_000
%global git_tag release_003_004_002
# git clone git://code.ettus.com/ettus/uhd.git
# cd uhd
@ -8,7 +8,7 @@
Name: uhd
URL: http://code.ettus.com/redmine/ettus/projects/uhd/wiki
Version: 3.4.0
Version: 3.4.2
Release: 1%{?dist}
License: GPLv3+
BuildRequires: cmake
@ -20,8 +20,8 @@ Group: Applications/Engineering
Summary: Universal Hardware Driver for Ettus Research products
Source0: %{name}-%{version}.tar.gz
Source1: %{name}-limits.conf
# Upstream commit 097f20df1653c33035b6dcfefbbef22572426c65
Patch0: uhd-3.4.0-usrp1-r45-dbsrx-i2c-fix.patch
# ARM convert_test fix (rhbz#813393)
Patch0: uhd-3.4.2-no-neon.patch
%description
The UHD is the universal hardware driver for Ettus Research products.
@ -30,7 +30,7 @@ future Ettus Research products. It can be used standalone without GNU Radio.
%prep
%setup -q
%patch0 -p1 -b .usrp1-r45-dbsrx-i2c-fix
%patch0 -p1 -b .no-neon
%build
mkdir host/build
@ -105,6 +105,12 @@ getent group usrp >/dev/null || groupadd -r usrp >/dev/null
%doc %{_docdir}/%{name}/*
%changelog
* Wed May 23 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.2-1
- New version
- Removed usrp1-r45-dbsrx-i2c-fix patch (upstreamed)
- Fixed convert_test failure on ARM by no-neon patch
Resolves: rhbz#813393
* Tue Mar 27 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.0-1
- New version
- Fixed lockup on USRP1 r4.5 + DBSRX + another i2c board combo