Davis attended and played college football at the University of South Carolina from 2012–2014 under head coachSteve Spurrier. As a true freshman in 2012, Davis rushed for 275 yards on 52 carries and two touchdowns. Davis took over as the starting running back in 2013, following Marcus Lattimore's departure. He rushed for 1,183 yards with 11 touchdowns and was a second-team All-Southeastern Conference selection. As a junior in 2014, he rushed for 982 yards and nine touchdowns. On December 25, 2014, Davis announced that he would forgo his senior season and enter the 2015 NFL Draft. ;Career Statistics
On May 2, 2015, Davis was drafted by the San Francisco 49ers in the fourth round of the 2015 NFL Draft with the 126th overall pick. On September 20, 2015, Davis made his NFL debut against the Pittsburgh Steelers, backing up Carlos Hyde who had to leave the field injured. He finished his rookie season with 58 rushing yards and 38 receiving yards.
2016
On October 23, 2016, Davis had his first-career touchdown against the Tampa Bay Buccaneers. Overall, he finished the 2016 season with 50 rushing yards and a rushing touchdown to go along with 25 receiving yards. On May 5, 2017, Davis was released by the 49ers after failing to trade him during the 2017 NFL Draft.
On May 8, 2017, Davis was claimed off waivers by the Seattle Seahawks. He was waived on September 2, and was signed to the Seahawks' practice squad the next day. He was promoted to the active roster on November 14. He finished the 2017 season with 240 rushing yards to go along with 15 receptions for 131 receiving yards.
2018
On March 22, 2018, Davis re-signed with the Seahawks. In Week 4, against the Arizona Cardinals, Davis recorded 21 carries for 101 rushing yards and two rushing touchdowns in the 20–17 victory. Overall, he finished the 2018 season with 514 rushing yards, four rushing touchdowns, 34 receptions, 214 receiving yards, and one receiving touchdown. The Seahawks earned the #5-seed in the NFC. Against the Dallas Cowboys in the, he had 32 scrimmage yards and converted a two-point conversion in the 24–22 loss.
On March 13, 2019, Davis signed a two-year, $6 million contract with the Chicago Bears. In Davis' first game as a Bear, he rushed five times for 19 yards and caught six passes for 17 yards as the Bears lost to the Green Bay Packers by a score of 10–3. He was released on November 9.
Carolina Panthers
On November 11, 2019, the Carolina Panthers claimed Davis off waivers.