Per wikipedia if one of ethernet ports is gigabit, ordinary cable will work, no need for cross, I have gigabit on both sides and ordinary cable works.
The question is asked in 2016, so I assume network manager is running on both Linux machines, you can use it's GUI to set ip-s, if not you probably made custom set up and know how to set up ip from command prompt, so I omit those details.
After you connect with cable, you will get network interfaces names in GUI relating to ethernet on laptop and workstation.
Assuming you don't care about connecting workstation (and/or laptop by ethernet) periodically to other network equipment you can set up static IP on both for ethernet interfaces.
Set your static IP's not same subnet as for wi-fi, e.g. if wi-fi is 192.168.1.0/16, set to 192.168.2.1 and 192.168.2.2, subnet mask is 255.255.255.0 as only last 'number' of IP differs, DNS on workstation should be set to same DNS IP as for wi-fi on laptop to be able to use DNS (open sites by name, not only IP) on workstation.
You need to enable IP forwarding on laptop:
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
As very probably you network manager on laptop considers Ethernet of better quality than wi-fi it will try to send everything to it by default and you will loose internet after setting up Ethernet. To get back to using wi-fi, on laptop you need in the [ipv4] section of file relating to ethernet connection (name you see in network manager GUI for ethernet) in location
/etc/NetworkManager/ add line
(if your GUI have something like "Use only for resources on this connection" checkbox for ethernet - on mine it's in ip4 section of connection properties, you can use that instead).
And finally, assuming you IP tables rules remained by default ACCEPT everything, your packets from workstation will go to internet, but will not find way back traveling only to laptop until you set up NAT rule on laptop by one command (where eth0 should be name of your wi-fi connection, you can find out the name by
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
If not working after that try restarting network manager:
sudo service network-manager restart
You should be all set.